Progressbar Progressbar
Ergebnis 1 bis 7 von 7
  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}" />
    Wie man hier sehen kann habe ich sie an mein MediaElement gebunden.
    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?
    0
     

  2. 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.
    0
     

  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" />
    ne sorry, Position.TotalSeconds wird natürlich korrekt angezeigt (also die verschrichene Zeit)

    DAs NaturalDuration.TimeSpan.TotalSeconds ist immer 0
    0
     

  4. 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.
    1
     

  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" />
    funktioniert wie schon gesagt nicht, um das Maximum zu setzen.

    Wenn ich allerdings:

    Code:
    durationText.Text = "" + mediaElement.NaturalDuration.TimeSpan.TotalSeconds;
    In meine MediaOpened von meinen MediaElement packe, funktioniert es korrekt.....
    0
     

  6. 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.
    0
     

  7. Jo so hab ichs jetzt gemacht, so funktionierts, Danke
    0
     

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

windows phone

progress bar

win phone progressbar

windows phone 7 progressbar height

Stichworte