是否可以使用 StringFormat 将“”(引号)添加到绑定中
Is it possible to add "" (Quotes) to a binding using StringFormat
所以我有一个 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= - "{0} "}" Margin="0,5,0,5"/>
但出现错误:
Error 4 Names and Values in a MarkupExtension cannot contain quotes.
The MarkupExtension arguments ' FriendlyName, StringFormat= - "{0}
"}' are not valid
所以我想知道是否可以使用 StringFormat
向绑定添加引号?
您应该添加单引号:
<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat='- "{0}"'}" Margin="0,5,0,5"/>
或者您可以使用 MultiBinding
:
<TextBlock Grid.Column="1" Margin="0,5,0,5">
<TextBlock.Text>
<MultiBinding StringFormat=" - "{0}"">
<Binding Path="FriendlyName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
明确定义绑定元素(不需要多重绑定):
<TextBlock Grid.Column="1" Margin="0,5,0,5">
<TextBlock.Text>
<Binding StringFormat="{} - "{0}"" Path="FriendlyName"/>
</TextBlock.Text>
</TextBlock>
所以我有一个 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= - "{0} "}" Margin="0,5,0,5"/>
但出现错误:
Error 4 Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' FriendlyName, StringFormat= - "{0} "}' are not valid
所以我想知道是否可以使用 StringFormat
向绑定添加引号?
您应该添加单引号:
<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat='- "{0}"'}" Margin="0,5,0,5"/>
或者您可以使用 MultiBinding
:
<TextBlock Grid.Column="1" Margin="0,5,0,5">
<TextBlock.Text>
<MultiBinding StringFormat=" - "{0}"">
<Binding Path="FriendlyName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
明确定义绑定元素(不需要多重绑定):
<TextBlock Grid.Column="1" Margin="0,5,0,5">
<TextBlock.Text>
<Binding StringFormat="{} - "{0}"" Path="FriendlyName"/>
</TextBlock.Text>
</TextBlock>