正如你所知道的StringFormat是在WPF数据表示高度重视。 我的问题是如何在WPF multibinding时使用的StringFormat?
如果我举一个很简单的例子:
我们有变数,这是A和B,其值是10.255555和25.6999999
我们想向他们展示10.2,25.6
?
我怎样才能做到这一点与multibinding? 通常它是ValueConverter小菜一碟
任何帮助和想法,关于这一主题将greately赞赏
正如你所知道的StringFormat是在WPF数据表示高度重视。 我的问题是如何在WPF multibinding时使用的StringFormat?
如果我举一个很简单的例子:
我们有变数,这是A和B,其值是10.255555和25.6999999
我们想向他们展示10.2,25.6
?
我怎样才能做到这一点与multibinding? 通常它是ValueConverter小菜一碟
任何帮助和想法,关于这一主题将greately赞赏
只需设置StringFormat
对房地产MultiBinding
; 使用占位符({0},{1} ...)在multibinding对于每种结合的,并且包括格式说明如果必要的话(例如,F1与1个十进制数字的十进制数)
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:F1}{1:F1}">
<Binding Path="A" />
<Binding Path="B" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
该{}
开头部分是格式字符串的转义序列(否则XAML分析器会考虑{
是一个标记扩展的开始)
为了简化您就可以使用两个的TextBlock /标签显示的值。
如果你正在使用.NET4,你可以在一个TextBlock的运行内联元素绑定
<TextBlock>
<Run Text="{Binding A, StringFormat={}{0:F1}}"/>
<Run Text="{Binding B, StringFormat={}{0:F1}}"/>
</TextBlock>
如果有人正在寻找“时间格式”这是24小时时钟这是我变成了这个帖子:
<TextBlock TextAlignment="Center">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:HH:mm} - {1:HH:mm}">
<Binding Path="StartTime" />
<Binding Path="EndTime" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
前导0:1:被引用到绑定
[0:HH:MM TT]显示AM / PM