Witam
Stworzyłem sobie Template do mojego własnego przycisku. Zawiera on obrazek. Chciałbym aby po kliknięciu na obrazek zmienił się on na 0.5 sek a następnie powrócił do pierwotnej postaci.
Wiem jak animować kolor, gradient. Ale nie za bardzo mam pojęcie jak podmienić obrazek :(
Oto kod:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="FileButton.App">
<Application.Resources>
<Style x:Key="RoundButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition To="MouseOver" GeneratedDuration="0:0:.2"/>
<VisualTransition To="Normal" GeneratedDuration="0:0:.2" />
<VisualTransition To="Pressed" GeneratedDuration="0:0:.2" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="Gradient1"
Storyboard.TargetProperty="Offset"
To="1" />
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed">
<Storyboard>
<ColorAnimation Storyboard.TargetName="BackgroundBrush"
Storyboard.TargetProperty="Color" To="#d0eafd" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Color="#d0eafd" x:Name="Gradient1" Offset="0.0" />
<GradientStop Color="White" Offset="0.2" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Border Padding="1 1 1 1">
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush x:Name="BackgroundBrush" Color="Transparent" />
</Rectangle.Fill>
</Rectangle>
</Border>
<Border Padding="6 6 6 6">
<Image Source="/FileButton;component/images/gnome-mime-application-pdf.png" x:Name="image1" />
</Border>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Bottom" DataContext="{Binding}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
</Application>
Pogooglałem trochę ale nic sensownego nie znalazłem :(
Dzięki za posty.
</image>