2011-10-12 33 views
1

我的XML数据是:XAML的TextBlock XML:的StringFormat显示号码

<Num>12.6</Num> 

我结合这一个XAML的TextBlock并要显示的值作为一个圆形数字,没有小数点。所以此值应显示为13.同样,12.2应显示为12等

我需要的代码如下的StringFormat(在...)做我想做什么:

<TextBlock Text= "{Binding Num, StringFormat=...}" /> 

谢谢。

回答

1

尝试使用转换器:在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

+0

它仍然以小数点显示字符串,而不是舍入。我必须做任何形式的转换吗?我怀疑这个值目前被当作一个字符串处理。我可能需要以某种方式指定它是一个数字。谢谢。 – user776676

+0

这很奇怪。它对我来说非常适合Num双。尝试使用n2而不是n0来查看它是否显示2个小数位。另外,Num的类型是什么? – alf

+0

我没有指定Num的类型,而是在TextBlock中显示它的类型。这是否意味着它是字符串类型?这就是为什么我想知道转换。 – user776676