In C#/wpf ho aggiunto una barra di avanzamento e un elemento di media alla mia finestra. L'idea era che progressbar mostrasse quanto è stato giocato nell'elemento multimediale.Associazione di una barra di avanzamento a un elemento multimediale nel wpf
ho provato con il seguente XAML:
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="627" Width="889">
<Grid>
<MediaElement Margin="152,8,140,41" Name="mediaElement1" MediaEnded="mediaElement1_MediaEnded" Visibility="Hidden" />
<ProgressBar Height="23" Margin="152,8,10,0" Name="mp3PlayingProgressBar" VerticalAlignment="Top" Foreground="DarkBlue" Maximum="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" Value="{Binding Path=Position.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" />
</Grid>
</Window>
ho cercato di associare la proprietà valore massimo e al MediaElement. Ma quando carico un mp3 per esempio nell'elemento multimediale, non succede niente con la barra di avanzamento. (La musica è in riproduzione in modo che l'mp3 sia caricato e riprodotto correttamente).
Preferisco farlo con una rilegatura.
Cosa sto facendo qui storto?
Si sta aggiornando il valore con un timer. Ho preferito farlo con una rilegatura. Non è possibile? –
Non posso davvero dire se è possibile o no. Ma ho scritto questa soluzione poiché non ero in grado di farlo funzionare con Binding.Mi sono reso conto che il problema stava accadendo perché i media non si stavano aprendo e ho scelto di scrivere questo codice. Qualcuno potrebbe correggermi e fornire una soluzione migliore. Rimarrò sintonizzato su questo thread. –