W języku C#/wpf dodałem pasek postępu i element multimedialny do mojego okna. Pomysł polegał na tym, że pasek postępu pokazuje, ile zostało zagrane w media-elicie.Powiązanie paska postępu z elementem nośnika w wpf
próbowałem go z poniższej 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>
próbowałem powiązać maksimum i wartość nieruchomości do MediaElement. Ale kiedy ładuję mp3 na przykład w mediaement, nic nie dzieje się z paskiem postępu. (Muzyka jest odtwarzana, więc mp3 jest ładowane i odtwarzane poprawnie).
Wolę to zrobić z wiązaniem.
Co ja tu robię źle?
Aktualizujesz wartość za pomocą minutnika. Wolałem robić to z wiązaniem. Czy to nie możliwe? –
Nie mogę powiedzieć, czy to możliwe, czy nie. Ale napisałem to rozwiązanie, ponieważ nie mogłem pracować z Binding.Zdałem sobie sprawę, że problem ma miejsce, ponieważ media się nie otwierają i zdecydowałem się napisać ten kod. Ktoś może mnie poprawić i zapewnić lepsze rozwiązanie. Zostanę nastawiony na ten wątek. –