单击按钮时,我希望按钮中的图像旋转+90度或-90度(取决于当前角度)。我尝试了一些解决方案,但我只能让整个按钮旋转,而不是只在其内部的图像。单击按钮时旋转图像
下面的代码我到目前为止(样式属性等省略了可读性):
<Button Width="110">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Options" />
<Image RenderTransformOrigin="0.5, 0.5" Source="../../Images/gt.png">
<Image.RenderTransform>
<RotateTransform x:Name="AnimatedRotateTransform" Angle="0" />
</Image.RenderTransform>
<Image.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="AnimatedRotateTransform" Storyboard.TargetProperty="Angle" To="90" Duration="0:0:5" FillBehavior="Stop" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
</StackPanel>
</Button>
这是按钮的样子(小箭头应指向下来,当我点击一次,然后点权当我再次点击:
任何人有一个想法
编辑:.NET 4.0,使用Visual Studio 2010。哦,解决这个“代码隐藏”不是一种选择。
你使用的是什么版本的.NET?你在使用Expression Blend吗? – Jens 2012-01-11 09:39:18
@Jens .NET 4和Visual Studio 2010 – KBoek 2012-01-11 09:41:26
嗯.. tricky =)请问为什么后面的代码不是一个选项?这可以不必重复每个按钮的代码,使用ValueConverter,通过子类别按钮或附加行为来完成。 – Jens 2012-01-11 09:47:17