代码之家  ›  专栏  ›  技术社区  ›  Jeremiah

如何在XAML中正确地向数据绑定添加前缀(或后缀)?

  •  19
  • Jeremiah  · 技术社区  · 16 年前

    <TextBlock Text="Hi, {Binding Name, Mode=OneWay}"/>
    

    寻找一个优雅的解决方案。外面是什么?我尽量避免为每个前缀/后缀组合编写转换器。

    3 回复  |  直到 7 年前
        1
  •  28
  •   John Cummings    7 年前

    StringFormat (或.NET 3.0 SP2),因此只有在您的生产环境具有最新service pack的情况下才能使用它。

    <TextBlock Text="{Binding Name, Mode=OneWay, StringFormat='Hi, {0}'}"/>
    

    如果你想插入两个或多个不同的绑定值,我通常只会制作一个包含多个TextBlocks的StackPanel,其中Orientation=“水平”,例如:

    <StackPanel Orientation="Horizontal">
        <TextBlock Text="Good "/>
        <TextBlock Text="{Binding TimeOfDay}"/>
        <TextBlock Text=", "/>
        <TextBlock Text="{Binding Name}"/>
        <TextBlock Text="!"/>
    </StackPanel>
    
        2
  •  2
  •   Johnny    7 年前

    <TextBlock>
        <TextBlock Text="Hi, " />
        <TextBlock Text="{Binding Name, Mode=OneWay}" />
    </TextBlock>
    
        3
  •  0
  •   Gregory Higley    16 年前

    对@Joe White解的修正(次要)

    <TextBlock Text="{Binding Name, Mode OneWay, StringFormat='Hi {0}}'"/>