在EventTrigger中使用SoundPlayerAction资源

本文关键字:SoundPlayerAction 资源 EventTrigger | 更新日期: 2023-09-27 18:25:17

我有一个指定为资源的SoundPlayerAction,如下所示:

<Window.Resources>
<SoundPlayerAction x:Key="ButtonClickSound" Source="/Resources/ButtonClick.wav" />
</Window.Resources>

现在我想在StyleEventTrigger中引用这个资源。我想做的是这样的事情:

<Style.Triggers>
<EventTrigger RoutedEvent="PreviewMouseDown">
{DynamicResource ButtonClickSound}
</EventTrigger>
</Style.Triggers>

但这并不奏效。有没有什么方法可以从EventTrigger中引用资源?

在EventTrigger中使用SoundPlayerAction资源

我不相信你可以在没有任何代码的情况下完全在XAML中做你想要的事情。但是,您应该能够在EventSetter中使用SoundPlayerAction元素来播放声音。。。试试类似的东西:

<EventTrigger RoutedEvent="UIElement.PreviewMouseDown">
    <EventTrigger.Actions>
        <SoundPlayerAction Source="/Resources/ButtonClick.wav" />
    </EventTrigger.Actions>
</EventTrigger>

更新>>>

这里不能使用Resource,但可以将数据绑定到SoundPlayerAction.Source属性:

<EventTrigger RoutedEvent="UIElement.PreviewMouseDown">
    <EventTrigger.Actions>
        <SoundPlayerAction Source="{Binding SoundSource}" />
    </EventTrigger.Actions>
</EventTrigger>

然后在后期阶段:

SoundSource = "/Resources/ButtonClick.wav";
相关文章:
  • 没有找到相关文章