use*_*er1 4 c# wpf xaml binding string-formatting
所以我有一个TextBlock绑定到我的对象上的属性,如下所示:
<TextBlock Grid.Column="1" Text="{Binding FriendlyName}" Margin="0,5,0,5"/>
Run Code Online (Sandbox Code Playgroud)
我现在想用引号括起这个文本并添加一个连字符,所以我尝试了:
<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat= - \"{0}\"}" Margin="0,5,0,5"/>
Run Code Online (Sandbox Code Playgroud)
但是得到了一些错误.
我也尝试过(从这里):
<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat= - "{0} "}" Margin="0,5,0,5"/>
Run Code Online (Sandbox Code Playgroud)
但得到了错误:
错误4 MarkupExtension中的名称和值不能包含引号.MarkupExtension参数'FriendlyName,StringFormat = - "{0}"}'无效
所以我想知道是否可以使用绑定添加引号StringFormat?
你应该添加单引号:
<TextBlock Grid.Column="1" Text="{Binding FriendlyName, StringFormat='- "{0}"'}" Margin="0,5,0,5"/>
Run Code Online (Sandbox Code Playgroud)
或者您可以使用MultiBinding:
<TextBlock Grid.Column="1" Margin="0,5,0,5">
<TextBlock.Text>
<MultiBinding StringFormat=" - "{0}"">
<Binding Path="FriendlyName" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)