fioresoft Ответов: 1

Как мне повернуть кнопку автоматически?


я пытаюсь использовать EventTrigger и BeginStoryBoard для поворота привязки кнопки к ее RenderTransform

Что я уже пробовал:

&ЛТ;элемент StackPanel ориентация="вертикальный"и GT;

кнопка <. rendertransform>
<rotatetransform angle="30" x:name="myrotate">

кнопка &ЛТ;.триггеры&ГТ;

<eventtrigger routedevent="кнопка.Нажмите кнопку">
<beginstoryboard>
<раскадровка x:name="myStoryboard">
<двойная анимация
storyboard.targetname="{привязка myrotate}"
= """раскадровка".targetproperty="{путь привязки=угол}" из="0" до="360" Продолжительность="0:0:5", чтобы всегда гарантировать="истинный" repeatbehavior="Forever", где&ГТ;

1 Ответов

Рейтинг:
10

RickZeeland

Может быть, эта статья CodeProject предложит некоторую помощь: Учебник по WPF - Часть 1 : преобразования[^]

Вы также можете найти некоторые примеры кнопок здесь: Обзор преобразований - WPF | Microsoft Docs[^]

<Page 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Button Animated RotateTransform Example"
  Background="White" Margin="50">
  <StackPanel>
    <Button Content="A Button"
      RenderTransformOrigin="0.5,0.5">
      <Button.RenderTransform>
        <RotateTransform x:Name="AnimatedRotateTransform" Angle="0" />
      </Button.RenderTransform>
      <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation 
                Storyboard.TargetName="AnimatedRotateTransform"
                Storyboard.TargetProperty="Angle" 
                To="360" Duration="0:0:1" FillBehavior="Stop" />
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Button.Triggers>
    </Button>

  </StackPanel>
</Page>