WPF MediaElement标签{Binding Position}未更新

时间:2017-05-14 12:37:20

标签: c# wpf

我在WPF应用中有一个媒体元素。我试图在标签中显示当前位置。

我已将该位置绑定到标签,但在视频播放时它不会更新。它只显示00:00:00。

如何在视频播放时使用当前位置更新标签?

<MediaElement x:Name="ME" Grid.Column="1" />

<Label x:Name="lblTime" Content="{Binding Position, ElementName=ME}" />

1 个答案:

答案 0 :(得分:1)

问题是,Position不是依赖属性,因此它不会通知属性已更改。您需要做的是在后面的代码中实现一个自定义属性,该属性将在计时器上更新:

Public TimeSpan MediaPosition
{
   get { return _mediaPosition; }
   set
   {
      _mediaPosition = value;
      PropertyChanged("MediaPosition");
   } 
}

propertyChanged事件将更新绑定。您可以在以下位置阅读propertyChanged事件:

https://msdn.microsoft.com/en-us/library/ms743695(v=vs.110).aspx