在xaml中显示当前区域性小数分隔符



我只想显示设置为小数分隔符的内容,因此"。"或","。

这两个都不行

<TextBlock Text="{Binding CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator}"/>
<TextBlock Text="{Binding Source={x:Static CultureInfo.CurrentCulture.NumberFormat}, Path=NumberDecimalSeparator}"/>

在Path的静态属性中使用圆括号

详情请参见数据绑定中对象的PropertyPath

xmlns:g="clr-namespace:System.Globalization;assembly=mscorlib"
<TextBlock Text="{Binding
Path=(g:CultureInfo.CurrentCulture).NumberFormat.NumberDecimalSeparator}"/>

或者通过x:Static:

设置绑定的源
<TextBlock Text="{Binding
Source={x:Static g:CultureInfo.CurrentCulture},
Path=NumberFormat.NumberDecimalSeparator}"/>

{x:Static }仅适用于static属性或字段

CurrentCulture是CultureInfo的静态成员,而NumberFormat是一个实例成员

所以正确的用法是:

<TextBlock Text="{Binding Source={x:Static g:CultureInfo.CurrentCulture}, Path=NumberFormat.NumberDecimalSeparator}"/>

其中g是包含CurrentCulture类的命名空间定义,应该添加到顶层(xmlns:g="clr-namespace:System.Globalization;assembly=mscorlib")

最新更新