基本代码:
namespace SliderBindings { public class TruncationConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is double) return Math.Round((double)value); return value; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return value; } } }
xmlns:local="clr-namespace:SliderBindings" <phone:PhoneApplicationPage.Resources> <local:TruncationConverter x:Key="truncate" /> </phone:PhoneApplicationPage.Resources> <TextBlock Name="txtblk" Text="{Binding ElementName=slider, Path=Value, Converter={StaticResource truncate}}" … />
带格式化的IConverter:
public class StringFormatConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (targetType == typeof(string) && parameter is string) return String.Format(parameter as string, value); return value; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return value; } }
Text="{Binding ElementName=slider, Path=Value, Converter={StaticResource stringFormat}, ConverterParameter='The slider is {0:F2}'}"