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

时间:2016-02-29 10:58:19

标签: c# xaml win-universal-app

我想在windows通用应用的标准传输控件中添加一个选择器,这样我就可以选择视频的质量。

我试图修改定义标准控件的xaml,但控件没有实现,标准控件仍然被显示。

具有标准传输控制的MediaElement:

<MediaElement AreTransportControlsEnabled="True">

</MediaElement>

2 个答案:

答案 0 :(得分:0)

Open Blend或在VS2015上点击View-&gt; Other Windows-&gt;文档大纲(ctrl + alt + T)

在xaml

中添加MediaTransportControls
 <MediaTransportControls />

没有转到Document Outline并右键单击MediaTransportControls - &gt;编辑模板 - &gt;编辑复制(我有一个styles.xaml我选择把它放在那里,你可以点击确定)

现在,文档大纲将视图更改为MediaTransportControls模板,您可以将其更改为您喜欢的。恩。我在中间添加了一个播放/暂停。

在Blend中执行此操作可为您提供更好的访问权限,例如编辑状态。

完成自定义后,您可以将其添加到MediaElement中,如此

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

答案 1 :(得分:0)

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

  

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

创建一个派生自MediaTransportControls的新类:

  
      
  1. 向项目添加新的类文件。
  2.   
  3. 修改类代码以从MediaTransportControls类派生。
  4.   
  5. 将默认样式从MediaTransportControls styles and templates复制到项目中的ResourceDictionary。这是您修改的样式和模板。
  6.   
  7. 将样式的TargetType更改为新的自定义控件类型。
  8.   
  9. 设置自定义类的DefaultStyleKey
  10.   
  11. 在您的XAML标记中添加MediaElement并向其添加自定义传输控件。
  12.   

有关详细信息,请参阅Create custom transport controls以及GitHub中的官方Media transport controls sample