UWP MediaElementPlayer FullWindow 的自定义处理程序
Custom Handler for UWP MediaElementPlayer FullWindow
我想为 MediaPlayerElement
中的 FullWindowButton
创建一个自定义处理程序。我创建了一个类似于 Microsoft 示例项目的 CustomMediaTransportControls
。我通过在我的代码中执行以下操作为 FullWindowButton
创建了一个事件处理程序:
Button fullWindowButton = GetTemplateChild("FullWindowButton") as Button;
fullWindowButton.Click += FullWindowButton_Click;
事件在进入和离开 FullWindowMode
时触发,但我不确定如何防止 MediaPlayerElement
处理 FullWindowButton
更改。有没有办法做到这一点,或者我应该创建一个单独的自定义 FullWindow
按钮?
在 official documentation 中有关于手动实施和修改 CustomMediaTransportControls
的很好的指南。
我建议您隐藏默认的全屏按钮,然后添加一个具有所需功能的自定义应用栏按钮,因为虽然可以阻止执行默认操作(通过清除所有事件处理程序),但是这不是 "clean" 解决方案。
您可以将自定义按钮添加到模板中的 CommandBar
,然后在 OnApplyTemplate
覆盖中附加自定义 Click
处理程序。
我想为 MediaPlayerElement
中的 FullWindowButton
创建一个自定义处理程序。我创建了一个类似于 Microsoft 示例项目的 CustomMediaTransportControls
。我通过在我的代码中执行以下操作为 FullWindowButton
创建了一个事件处理程序:
Button fullWindowButton = GetTemplateChild("FullWindowButton") as Button;
fullWindowButton.Click += FullWindowButton_Click;
事件在进入和离开 FullWindowMode
时触发,但我不确定如何防止 MediaPlayerElement
处理 FullWindowButton
更改。有没有办法做到这一点,或者我应该创建一个单独的自定义 FullWindow
按钮?
在 official documentation 中有关于手动实施和修改 CustomMediaTransportControls
的很好的指南。
我建议您隐藏默认的全屏按钮,然后添加一个具有所需功能的自定义应用栏按钮,因为虽然可以阻止执行默认操作(通过清除所有事件处理程序),但是这不是 "clean" 解决方案。
您可以将自定义按钮添加到模板中的 CommandBar
,然后在 OnApplyTemplate
覆盖中附加自定义 Click
处理程序。