einmal

2016-05-15 8 views
0

Ich mag abholen Wert von Gleitstange, wenn die Maus bewegt fertig und will nicht Inhaltsänderung oft beschriften, mein Code:einmal

private void SecondsSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) 
    { 
     this.SecondsLabel.Content = (int)this.SecondsSlider.Value; 
    } 

, wie das zu tun?

Antwort

1

Sie müssen das Ereignis DragCompleted (https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.thumb.dragcompleted%28v=vs.110%29.aspx) verwenden.
Es wird ausgelöst, nachdem der Benutzer den MouseButton freigegeben hat.

private void SecondsSlider_DragCompleted(object sender, RoutedEventArgs e) 
{ 
    this.SecondsLabel.Content = (int)this.SecondsSlider.Value; 
} 

Verwendung in XAML:

<Slider Thumb.DragCompleted="SecondsSlider_DragCompleted" /> 
+0

es funktioniert super, danke – mojtaba357

0

Von dem, was ich verstehe Sie nur einmal, um den Wert zu erhalten aus dem Schieberegler. Sie können eine statische bool verwenden, die einmal erklommen werden nicht erneut erstellt werden, wie folgt aus:

private void SecondsSlider_ValueChanged (object sender, RoutedPropertyChangedEventArgs e) { static bool isPicked = false; Wenn (! IsPicked) { this.SecondsLabel.Content = (int) this.SecondsSlider.Value; isPicked = true; } }

So kann man nur einmal den Wert bekommen und die Bool isPicked des ändern tp wahr, sobald es auf true geändert wird, werden Sie nicht den Wert des Schiebers holen noch mehr Zeit. Ich hoffe, dass das dein Problem löst.

P.S .: Entschuldigung, wenn meine Antwort nicht richtig formatiert wurde, der Grund ist, dass ich gerade ein Telefon benutze.