我不知道我的MultiBinding StringFormat行为。我有一个DataContext,它通过属性MinIncl和MaxIncl定义一个数字范围。我希望使用MultiBinding创建一个工具提示,以创建类似于"1.0到999.0“的提示。我尝试使用以下代码:
<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>生成的工具提示为"to 999.0 1.0“。因此,它扭转了范围,并将"to“一词放在第一位。
如果删除空格并尝试“{}{0:f1}到{1:f1}”,则得到正确的答案:"1.0to999.0“。
说真的,为什么空格和单词"to“会破坏这个东西?
谢谢。
-reilly。
发布于 2014-06-19 14:34:58
在这种情况下,您不需要多个,只需使用相同的TextBlock来代替;
<TextBlock>
<Run Text="{Binding Path=SelectedTrainingScriptParameter.MinimumInclusive}"/>
<Run Text="to"/>
<Run Text="{Binding Path=SelectedTrainingScriptParameter.MaximumInclusive}"/>
</TextBlock>或者如果你真的想按原样使用它;
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} to {1}">
<Binding Path="SelectedTrainingScriptParameter.MinimumInclusive" />
<Binding Path="SelectedTrainingScriptParameter.MaximumInclusive" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>关于奇怪的空格,我不知道对不起。希望这能帮上忙干杯。
https://stackoverflow.com/questions/24309006
复制相似问题