XAML:如何将百分号添加到绑定标签值?

Bra*_*rad 8 format xaml label bind

我有一个标签绑定到滑块的值.

Content="{Binding Path=Value, ElementName=Slider}"
Run Code Online (Sandbox Code Playgroud)

如何附加百分比符号?滑块的值已经正确格式化,因此当值为"50"时,我需要的只是"50%".

我知道如何在代码中执行此操作,但我希望在xaml中完成此操作而不创建转换器.TIA

Dan*_*zey 17

这对我来说很好(在Kaxaml中测试):

<StackPanel>  
  <Slider Minimum="0" Maximum="100" x:Name="slider" />
  <TextBlock Text="{Binding Path=Value, ElementName=slider, StringFormat='\{0\}%'}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

没有反斜杠我得到一个错误,说%字符在该位置无效.

  • 我将标签更改为 TextBlock 并且它有效。我将研究为什么标签不允许格式化。谢谢! (2认同)

小智 7

StringFormat也可以以这种格式使用

Content="{Binding Path=Value, ElementName=Slider, StringFormat=P2}"


Igo*_*huk 6

我有一个类似的问题,并根据@Wiesel 的回答使用它解决了这个问题:

<Label Content="{Binding Value, ElementName=Slider}" 
       ContentStringFormat="{}{0}%"/>
Run Code Online (Sandbox Code Playgroud)