我找不出我的MultiBinding StringFormat行为。我有一个DataContext,它通过属性MinIncl和MaxIncl定义一个数字范围。我想创建一个工具提示使用MultiBinding来创建一个像“1.0到999.0”的提示。我尝试以下代码:XAML MultiBinding StringFormat
<ToolTipService.ToolTip>
<StackPanel>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:F1} to {1:F1}">
<Binding Path="SelectedTrainingScriptParameter.MinimumInclusive"/>
<Binding Path="SelectedTrainingScriptParameter.MaximumInclusive"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
</ToolTipService.ToolTip>
生成的工具提示为“至999.0 1.0”。所以它已经改变了范围并且首先将“to”这个词放到了。
如果我删除空格并尝试“{} {0:F1}到{1:F1}”,我会得到正确的答案:“1.0to999.0”。
说真的,为什么空白和单词“to”会破坏这件事?
谢谢。
-reilly。
我测试了你发布的XAML,并且(至少对我来说),我的工具提示显示“1.0到999.0”(用.NET 4.5和.NET 3.5试用)。因此,您使用的'StringFormat'确定。该问题似乎超出了您在问题中显示的代码范围。 –
@fmunkert:你说得对。我的工具提示来自扩展WPF工具包(http://wpftoolkit.codeplex.com/wikipage?title=DoubleUpDown)中的DoubleUpDown控件。当我在TextBox上使用相同的绑定时,它工作正常。我从来没有想过检查控制... – Reilly