System.TimeSpan
は、タイプがBeginTime
であるため使用する正しいタイプです。 Duration
でも同様の操作を行うことができます(代わりにタイプを使用)。ここで
(2秒後、1秒間フェードイン)アニメーションでStaticResource
を使用した例です。
<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