我的XML数据是:
<Num>12.6</Num>
我将它绑定到XAML TextBlock,并希望将值显示为没有小数点的舍入数字。因此,此值应显示为13.同样,12.2应显示为12,等等。
我需要下面的StringFormat中的代码(在......)来做我想要的事情:
<TextBlock Text= "{Binding Num, StringFormat=...}" />
感谢。
答案 0 :(得分:1)
尝试使用转换器:
public class StringToDoubleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return double.Parse(value as string);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
然后在xaml中,声明转换器:
<UserControl.Resources>
<local:StringToDoubleConverter x:Key="StringToDoubleConverter"/>
</UserControl.Resources>
最后在绑定中使用它以及StringFormat:
<TextBlock Text= "{Binding Num, StringFormat=n0, Converter={StaticResource StringToDoubleConverter}}" />
n0
中的零表示没有小数位(Standard Numeric Format Strings)