System.TimeSpan
類型是否正確使用,因爲是這是BeginTime
類型。您也可以對Duration
執行相同的操作(但使用System.Windows.Duration
類型代替)。
這裏是在動畫中使用StaticResource
一個例子(2秒後,淡入爲1秒):
<Button Content="Placeholder"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Opacity="0.5">
<Button.Resources>
<sys:TimeSpan x:Key="FadeInBeginTime">0:0:2</sys:TimeSpan>
<Duration x:Key="FadeInDuration">0:0:1</Duration>
</Button.Resources>
<Button.Style>
<Style>
<Style.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard x:Name="FadeInBeginStoryBoard">
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
To="1"
BeginTime="{StaticResource FadeInBeginTime}"
Duration="{StaticResource FadeInDuration}" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave">
<StopStoryboard BeginStoryboardName="FadeInBeginStoryBoard" />
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
假設你已經聲明的sys
命名空間:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
希望這有助於!
System.TimeSpan確實有效。非常感謝你的答案。我一直在努力尋找使用的正確類型,並且在我早些時候嘗試過TimeSpan的時候肯定做了一些愚蠢的事情。 – George
請注意,這在Silverlight中不起作用,顯然...給出了本機異常。 – McGarnagle