首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XAML MultiBinding StringFormat

XAML MultiBinding StringFormat
EN

Stack Overflow用户
提问于 2014-06-19 14:25:40
回答 1查看 1.9K关注 0票数 2

我不知道我的MultiBinding StringFormat行为。我有一个DataContext,它通过属性MinIncl和MaxIncl定义一个数字范围。我希望使用MultiBinding创建一个工具提示,以创建类似于"1.0到999.0“的提示。我尝试使用以下代码:

代码语言:javascript
复制
         <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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-19 14:34:58

在这种情况下,您不需要多个,只需使用相同的TextBlock来代替;

代码语言:javascript
复制
<TextBlock>
   <Run Text="{Binding Path=SelectedTrainingScriptParameter.MinimumInclusive}"/>
   <Run Text="to"/>
   <Run Text="{Binding Path=SelectedTrainingScriptParameter.MaximumInclusive}"/>
</TextBlock>

或者如果你真的想按原样使用它;

代码语言:javascript
复制
<TextBlock>
    <TextBlock.Text>    
        <MultiBinding StringFormat="{}{0} to {1}">
            <Binding Path="SelectedTrainingScriptParameter.MinimumInclusive" />
            <Binding Path="SelectedTrainingScriptParameter.MaximumInclusive" />
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>

关于奇怪的空格,我不知道对不起。希望这能帮上忙干杯。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24309006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档