将元素添加到标准传输控件

本文关键字:传输 控件 标准 元素 添加 | 更新日期: 2023-09-27 18:36:44

我想将选择器添加到Windows通用应用程序的标准传输控件中,以便我可以选择视频的质量。

我尝试修改定义标准控件的 xaml,但控件未受影响,标准控件仍然被释放。

具有标准传输控件的媒体元素:

<MediaElement AreTransportControlsEnabled="True">
</MediaElement>

将元素添加到标准传输控件

由于您想在标准传输控件中添加选择器并选择视频的质量,我认为仅编辑模板是不够的。

若要添加或修改传输控件的功能,必须创建一个派生自 MediaTransportControls 的新类。

创建派生自 MediaTransportControls 的新类:

  1. 向项目添加新的类文件。
  2. 修改类代码以派生自 MediaTransportControls 类。
  3. 将默认样式从 MediaTransportControls 样式和模板复制到项目中的资源字典中。这是您修改的样式和模板。
  4. 将样式的"目标类型"更改为新的自定义控件类型。
  5. 设置自定义类的默认样式键。
  6. 将 MediaElement 添加到 XAML 标记,并向其添加自定义传输控件。

有关详细信息,请参阅 创建自定义传输控件以及 GitHub 中的官方媒体传输控件示例。

打开 Blend 或在 VS2015 上单击查看->其他 Windows-> 文档大纲(ctrl+alt+T)

在 xaml 中添加媒体传输控件

 <MediaTransportControls />

不转到文档大纲并右键单击媒体传输控件 -> 编辑模板 ->编辑副本(我有一个 styles.xaml,我选择把它放在那里,你可以点击确定)

现在,文档大纲视图更改为媒体传输控件模板,您可以将其更改为您的喜好。我在中间添加了播放/暂停。

在 Blend 中执行此操作可以更好地访问,例如编辑状态。

完成自定义后,您可以像这样将其添加到MediaElement中

 <MediaElement x:Name="mediaElement" AreTransportControlsEnabled="True" >
      <MediaElement.TransportControls>
             <MediaTransportControls Style="{StaticResource MediaTransportControlsStyle1}"/>
      </MediaElement.TransportControls>
</MediaElement>