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?
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%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.
schau dir nur dieses Beispiel an - statt der Fortschrittsleiste benutzte er den Schieberegler ...
Hinzufügen von Vorschauverhalten zu einem WPF-Slider-Steuerelement
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.
Tags und Links wpf c# xaml progress-bar mediaelement