ウィンドウのスタイルを持つリソース ディクショナリがあります。このスタイルでは、テンプレートを定義し、そこで多くのものを定義します。とりわけ、テンプレートで定義されている特定のものをアニメーション化するストーリーボードを定義します。次のようになります。
<Style TargetType="local:MyWindow">
<Setter Property="Background" Value="red" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:MyWindow">
<Grid>
<Grid.Resources>
<Storyboard x:Key="MyAnimation">
<DoubleAnimation Storyboard.TargetName="ToBeAnimated" ... />
</Storyboard>
</Grid.Resources>
<Grid x:Name="ToBeAnimated" Background="Green"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
今、私はMyWindowのインスタンスを持っています(これは間違いなくスタイルを適用します:))そしてウィンドウ内からアニメーションをトリガーしたいです。しかし、これは
this.FindResource("MyAnimation");
失敗します!
ストーリーボードを
<ControlTemplate.Resources/>
それはそれを見つけることができますが、私が見つけた場合
((Storyboard)FindResource("StoryboardOpenOverlay")).Begin();
見つからないという別のエラーが表示されますToBeAnimated
...
何か案は?