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:
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
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
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:
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
Pixel 10 Serie mit Problemen:...