Etwas nach dem Vorbild dieses:
Converter -
public class ThumbConverter : DependencyObject, IValueConverter
{
public double SecondValue
{
get { return (double)GetValue(SecondValueProperty); }
set { SetValue(SecondValueProperty, value); }
}
// Using a DependencyProperty as the backing store for SecondValue. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SecondValueProperty =
DependencyProperty.Register("SecondValue", typeof(double), typeof(ThumbConverter), new PropertyMetadata(0d));
public object Convert(object value, Type targetType, object parameter, string language)
{
// assuming you want to display precentages
return $"Precentage: {double.Parse(value.ToString())/SecondValue}";
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
die Nutzung -
<Slider VerticalAlignment="Top">
<Slider.ThumbToolTipValueConverter>
<converters:ThumbConverter SecondValue="{Binding SecondValue}" />
</Slider.ThumbToolTipValueConverter>
</Slider>
Beachten Sie - die visuelle Änderung wird nur auftreten, wenn sich der Slider-Wert ändert. Während die Klasse selbst über die Änderungen von SecondValue informiert wird, wird die visuelle Änderung nur auftreten, wenn Sie den Wert des Schiebereglers ändern.
Die Situation schreit nach der Implementierung von MultiValueConverter, aber wir haben diese nicht in UWP. also das ist das sauberste was ich habe.