gpt4 book ai didi

c# - XAML 多绑定(bind)字符串格式

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:46 25 4
gpt4 key购买 nike

我无法理解我的 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}to{1:F1}”,我会得到正确答案:“1.0to999.0”。

说真的,为什么空格和“to”这个词会破坏这个东西?

谢谢。

-赖利。

最佳答案

在这种情况下,您不需要 multi,只需使用相同的 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>

至于奇怪的空格,不知道抱歉。希望这会有所帮助,干杯。

关于c# - XAML 多绑定(bind)字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24309006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com