私のWPFアプリケーションには、カスタムクラスFrostのスタイルを含む標準のGeneric.xamlファイルがあります。
アニメーションの1つのCompletedイベントをカスタムFrostクラスに接続する方法を見つける必要があります。実行時に、IsFrozenをfalseに設定する必要があると文句を言うため、実行できません(実行したくない)。パフォーマンスのため)。
コントロールテンプレートのTargetTypeにイベントをフックするにはどうすればよいですか?
<Style TargetType="{x:Type Controls:Frost}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:Frost}">
<ControlTemplate.Resources>
<Storyboard x:Key="OnEndFrost">
<DoubleAnimation Name="fadeOutFrostAnimation"
BeginTime="00:00:00"
Duration="00:00:02"
Storyboard.TargetName="frostElement"
Storyboard.TargetProperty="(UIElement.Opacity)"
To="0">
</DoubleAnimation>
</Storyboard>
</ControlTemplate.Resources>
<Grid>
<MediaElement x:Name="frostElement"
LoadedBehavior="Manual"
Width="1172"
Height="286.917"
Source="{TemplateBinding SourceUri}"
ScrubbingEnabled="True">
<MediaElement.Effect>
<eff:ChromaKeyAlphaEffect InputColor="#FF0E425E" Tolerance="0.1" />
</MediaElement.Effect>
</MediaElement>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="Controls:Frost.EndFrost">
<BeginStoryboard x:Name="OnEndFrost_BeginStoryboard" Storyboard="{StaticResource OnEndFrost}"/>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>