Ergebnis 1 bis 7 von 7
-
Bin neu hier
- 15.11.2012, 08:34
- #1
Hi Leute,
versuche ich es nochmal mit einer anderen Frage
Ich habe in meiner XAML eine Progressbar erzeugt:
Wie man hier sehen kann habe ich sie an mein MediaElement gebunden.Code:<ProgressBar Height="23" Margin="12,267,6,0" Name="progress" VerticalAlignment="Top" Maximum="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneWay, ElementName=mediaElement}" Value="{Binding Path=Position.TotalSeconds, Mode=OneWay, ElementName=mediaElement}" />
In der Vorschau wird die Progressbar angezeigt, wenn ich nun aber
dem Emulator starte, ist dort keine Progressbar zu sehen.
Weiß hierzu jemand was oder auch nicht?
-
Gehöre zum Inventar
- 15.11.2012, 10:34
- #2
Leg dir doch mal zwei Labels auf die Page und binde die an die Werte die du da zur Festlegung des ProgressBar nutzen willst. Mein Verdacht geht erst mal in die Richtung, dass da die Typkonvertierung daneben geht.
-
Bin neu hier
- 15.11.2012, 11:29
- #3
ne sorry, Position.TotalSeconds wird natürlich korrekt angezeigt (also die verschrichene Zeit)Code:<TextBlock Height="30" HorizontalAlignment="Left" Margin="291,225,0,0" Name="textBlock1" Text="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneTime, ElementName=mediaElement}" VerticalAlignment="Top" /> <TextBlock Height="30" HorizontalAlignment="Left" Margin="174,225,0,0" Name="textBlock2" Text="{Binding Path=Position.TotalSeconds, Mode=OneWay, ElementName=mediaElement}" VerticalAlignment="Top" />
DAs NaturalDuration.TimeSpan.TotalSeconds ist immer 0
-
Gehöre zum Inventar
- 15.11.2012, 12:10
- #4
Dann hast du ja quasi deine Antwort wieso es nicht klappt - du setzt ja da über das Binding die Maximallänge auf 0. Da musst du also wohl ein anderes Property suchen dass dir die Daten richtig ausgibt.
-
Bin neu hier
- 15.11.2012, 13:48
- #5
Ok, verstehe dann allerdings etwas nicht

funktioniert wie schon gesagt nicht, um das Maximum zu setzen.Code:<TextBlock Height="30" HorizontalAlignment="Right" Margin="0,287,23,0" Name="durationText" Text="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneWay, ElementName=mediaElement}" VerticalAlignment="Top" />
Wenn ich allerdings:
In meine MediaOpened von meinen MediaElement packe, funktioniert es korrekt.....Code:durationText.Text = "" + mediaElement.NaturalDuration.TimeSpan.TotalSeconds;
-
Gehöre zum Inventar
- 15.11.2012, 16:22
- #6
Beim nochmal drüber nachdenken fällt mir da glaub ich ein worans liegt. Das TotalSeconds ist ein ganz normales C# Property. D.h. dein Binding holt sich einmal den Wert und kriegt es nicht mehr mit wenn sich dieser ändert. Das funktioniert nur bei Objekten die INotifyPropertyChanged implementieren was bei TimeSpan halt leider nicht der Fall ist.
Insofern wäre es also möglich dass du eben auch das Maximum im MediaOpened ausliest.
-
Bin neu hier
- 15.11.2012, 16:46
- #7
Jo so hab ichs jetzt gemacht, so funktionierts, Danke

Danke:













Mobile Gaming: 2030 spielen auf...