通过自定义媒体传输控件中的自定义按钮控制媒体元素

本文关键字:自定义 按钮 控制媒体 元素 控件 媒体 传输 | 更新日期: 2023-09-27 18:34:13

来自这篇官方文章 https://msdn.microsoft.com/en-us/library/windows/apps/mt187271.aspx

我知道如何在自定义MediaTransportControls中创建自定义按钮。我也知道热处理按钮点击(也在文章中)。

但我不确定如何使用我的自定义按钮控制mediaElement。

例如,我想要按钮,它将位置设置为 10 秒。在页面中很容易,放置mediaElement

private void myButtonInPageDotXaml(object sender, RoutedEventArgs e)
{
    mediaElement.Position = new TimeSpan(0, 0, 10);
}

如何将此功能添加到我的自定义按钮customMediaTransortControls

编辑:我可以在CustomMediaTransportControls中创建公共变量:

public MediaElement me;

之后,MainPage.xaml.cs执行以下操作:

public MainPage()
    {
        this.InitializeComponent();
        customMTC.me = this.mediaElement;//customMTC is CustomMediTransportControlClass
    }

因此,我可以从CustomMediTransportControl类中控制medieElement

private void GoToTenButton_Click(object sender, RoutedEventArgs e)
    {
         mediaElement.Position = new TimeSpan(0, 0, 10);
    }

这正是我想要的,但我觉得这不是最清晰和最好的解决方案。

通过自定义媒体传输控件中的自定义按钮控制媒体元素

在"复制"中,如果在"此文档"中定义了 MediaTransportControls 的模板,则在编辑模板时,选择按钮转到"事件处理程序"并创建一个。