我已经绑定了一个滑块控件的工具提示到它的Value属性,我试图使用StringFormat使它显示“当前值{0},共10”,其中{0}是Value属性。下面是我在试图弄清楚这一点时尝试的各种事情之一。
<Slider.ToolTip>
<Label>
<Label.Content>
<Binding StringFormat="Current Value {0} of 10"
ElementName="DebugLevelSlider"
Path="Value" />
</Label.Content>
</Label>
</Slider.ToolTip>
我在网上找不到如何使用stringformat和字符串文字的例子,比如上面我的例子。我看到了很多stringformat日期/时间/货币格式转换。我想我有一种方法可以用多绑定来做到这一点,但它看起来像是一个额外的工作量。我希望对于字符串文字格式,我仍然不必编写一个自定义转换器。
在我的应用程序中,我发现自己在项目旁边使用了很多额外的标签,所以了解字符串格式将有望让我消除一些不必要的标签。
2条答案
按热度按时间oaxa6hgo1#
Label.Content
是object,所以不能在这里使用Binding.StringFormat
,因为绑定的目标类型必须是string
才能工作。两种解决方法是:
1.使用
TextBlock
代替Label
并绑定Text
属性。1.使用Label.ContentStringFormat,即
如果第一个字符是
{
,则只需要使用{}
转义string
0s7z1bwu2#
对于工具提示,可以检出WPF binding with StringFormat doesn't work on ToolTips。
对于上面指定的StringFormat,您必须转义字符串。
下面是一些StringFormat的例子。http://blogs.msdn.com/b/llobo/archive/2008/05/19/wpf-3-5-sp1-feature-stringformat.aspx