單擊按鈕時,我希望按鈕中的圖像旋轉+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