是否可以加上""(引号)到使用StringFormat的绑定

本文关键字:quot 绑定 StringFormat 是否 引号 | 更新日期: 2023-09-27 18:04:50

我将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"/>

但是得到了一些错误。

我也试过(从这里):

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

但是得到错误:

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

所以我想知道是否有可能使用StringFormat为绑定添加引号?

是否可以加上""(引号)到使用StringFormat的绑定

你应该加单引号:

 <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>

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

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