2017-05-14 1 views
0

Ich habe ein Mediaelement in einer WPF-App. Ich versuche, die aktuelle Position zu zeigen, wie ein Video auf einem Label abgespielt wird.WPF-MediaElement-Label {Bindungsposition} nicht aktualisiert

Ich habe die Position an ein Label gebunden, aber es wird nicht aktualisiert, wenn das Video abgespielt wird. Es zeigt nur 00:00:00.

Wie aktualisiere ich das Etikett mit der aktuellen Position, während das Video wiedergegeben wird?

+0

diese Frage sehen und beantworten: [Binden eines progressbar zu einem Mediaelement in WPF] (http://stackoverflow.com/questions/4058175/binding-a Sie können bis auf das Property Ereignis bei lesen -progressbar-zu-Medienelement-in-wpf). Beachten Sie die Verwendung eines Timers zum Abrufen der MediaPosition-Eigenschaft. – elgonzo

Antwort

1

Das Problem ist, dass Position keine Abhängigkeitseigenschaft ist, daher wird die Eigenschaft nicht geändert. Was Sie tun müssen, um eine benutzerdefinierte Eigenschaft in der Code-behind, daß das Gerät auf einem Timer aktualisieren:

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

das Property Ereignis wird aktualisiert, die Bindung.

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

Verwandte Themen