Bindet einen Fortschrittsbalken an ein Mediaelement in wpf

8

In c # / wpf habe ich meinem Fenster eine Fortschrittsanzeige und ein Mediaelement hinzugefügt. Die Idee war, dass die Fortschrittsleiste anzeigt, wie viel in dem Medienelement gespielt wurde.

Ich habe es mit dem folgenden xaml versucht:

%Vor%

Ich habe versucht, die Maximum- und Value-Eigenschaft an das Medienelement zu binden. Aber wenn ich zum Beispiel ein mp3 in das Mediaelement lade, passiert nichts mit der Fortschrittsanzeige. (Die Musik spielt so, dass die MP3 geladen und korrekt abgespielt wird).

Ich bevorzuge das mit einer Bindung.

Was mache ich hier falsch?

    
Peter Fortuin 30.10.2010, 10:06
quelle

5 Antworten

10

Das liegt daran, dass das Medium nicht geöffnet ist und daher der Fortschrittsbalken den Maximalwert nicht kennt. Probieren Sie das ...

Verwenden Sie die folgenden Ereignisse für MediaOpened und MouseLeftButtonUp für Ihre Fortschrittsleiste oder Schieberegler. Ich habe es versucht, und es funktioniert gut.

%Vor%

Das assoziierte XAMl ist wie folgt ...

%Vor%     
Rahul Soni 30.10.2010, 10:26
quelle
4

Ich habe versucht, die Werte zu binden und kam dazu, aber ohne Erfolg:

%Vor%

Schade, dass es nicht funktioniert.
Ich fürchte, du brauchst einen Timer Etwas wie:

* .xaml

%Vor%

* .cs

%Vor%

Mit freundlichen Grüßen,
Thimo.

    
Thimo Braker 08.04.2014 23:37
quelle
0

schau dir nur dieses Beispiel an - statt der Fortschrittsleiste benutzte er den Schieberegler ...

Hinzufügen von Vorschauverhalten zu einem WPF-Slider-Steuerelement

Ссылка

    
Kishore Kumar 30.10.2010 11:36
quelle
0

Eine WPF-Version von Rahuls Beispiel mit zusätzlicher Echtzeit-Änderung der Medienposition beim Verschieben des Balkens.

%Vor%     
glut 09.02.2016 09:17
quelle
0

In GitHub gibt es eine Wrapper-Bibliothek namens Gu.Wpf.Media , die alle Probleme von% behandelt. co_de% und bringt mehr.

Es unterstützt die Bindung an MediaElement Eigenschaft über Position Bindung aus der Box. Keine Notwendigkeit, sich mit Timern zu beschäftigen.

    
Yusuf Tarık Günaydın 17.01.2017 14:08
quelle