. Yapmanız gereken tek şey, nesnenin MouseOver
ve Normal
gibi çeşitli hallerinde neye benzediğini ve çeşitli durumlar arasındaki geçişlerin ne kadar uzun olduğunu ve görsel durum yöneticisinin durumları arasında nasıl geçiş yapacağını açıklamaktır.
bir görüntü herhangi bir görsel durumlarını yok ama sen düğme için durumlarını bir Button
şablonunu düzenlemek ve içeriği bir resim yapması ve sonra düzenleyebilirsiniz. Bunu yaptık ve tekniği göstermek için XAML temizledim: O Blend sizin için tüm bu yok
<Grid>
<Grid.Resources>
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Image x:Name="image" Height="100" Width="Auto" Source="http://thecybershadow.net/misc/stackoverflow.png" Margin="0,0,-25,0">
<Image.Effect>
<DropShadowEffect ShadowDepth="0"/>
</Image.Effect>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(DropShadowEffect.ShadowDepth)" Storyboard.TargetName="image">
<EasingDoubleKeyFrame KeyTime="0" Value="15"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Image>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Button Style="{StaticResource ButtonStyle1}"/>
</Grid>
Not ama XAML anlamakta yardımcı olacaktır. İşte Blend odaklı öğretici var:
ben Expression Blend kullanmayın, ama belki doğrudan xaml üzerinde çalışmak ister misin? Bir storyboard'u başka bir etkinlikle tersine çevirmek için en kolay yol, animasyonu ters sırada yapan yeni bir storyboard oluşturmak ve bu olaya etiketlemektir –
Bunu yapmayı düşünüyordum ama henüz başka bir storyboard oluşturmaktan kaçınmaya çalışıyordum. Giriş için teşekkürler. –
"do-ve-ters", tek bir olay ile tetiklenir Şimdiye kadar eğer, kolayca yapılabilir, ancak ur durum için, bu 2 ayrı olaydır. Tek başına xaml ile uygun bir yol bilmek ister. –