【问题标题】:Is it possible to add "" (Quotes) to a binding using StringFormat是否可以使用 StringFormat 将“”(引号)添加到绑定中
【发布时间】:2015-10-17 19:54:36
【问题描述】:

所以我有一个TextBlock 绑定到我的对象上的一个属性,如下所示:

<TextBlock Grid.Column="1" Text="{Binding FriendlyName}" Margin="0,5,0,5"/>

我现在想用引号括住这个文本并添加一个连字符,所以我尝试了:

<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat= - \"{0}\"}" Margin="0,5,0,5"/>

但出现了一些错误。

我也试过(来自here):

<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat= -  &quot;{0} &quot;}" Margin="0,5,0,5"/>

但得到了错误:

错误 4 MarkupExtension 中的名称和值不能包含引号。 MarkupExtension 参数 ' FriendlyName, StringFormat= - "{0} "}' 无效

所以我想知道是否可以使用 StringFormat 在绑定中添加引号?

【问题讨论】:

    标签: c# wpf xaml binding string-formatting


    【解决方案1】:

    你应该添加单引号:

     <TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat='-  &quot;{0}&quot;'}" Margin="0,5,0,5"/>
    

    或者你可以使用MultiBinding:

    <TextBlock Grid.Column="1" Margin="0,5,0,5">
        <TextBlock.Text>
            <MultiBinding StringFormat=" -  &quot;{0}&quot;">
                <Binding Path="FriendlyName" />
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>
    

    【讨论】:

      【解决方案2】:

      明确定义绑定元素(不需要多重绑定):

      <TextBlock Grid.Column="1" Margin="0,5,0,5">
          <TextBlock.Text>
              <Binding StringFormat="{} -  &quot;{0}&quot;" Path="FriendlyName"/>
          </TextBlock.Text>
      </TextBlock>
      

      【讨论】:

        猜你喜欢
        • 2020-01-17
        • 1970-01-01
        • 2013-10-17
        • 2010-12-15
        • 2018-05-10
        • 2010-09-28
        • 1970-01-01
        • 2012-09-19
        • 2013-03-12
        相关资源
        最近更新 更多