我有一个标签,我想在列表中显示所选项目的数量(列表项目是从网格中选择的)。一切正常,标签显示数字。我想要的是使标签显示“选择5项”。现在,我只得到数字5.这是xaml:
<Label Height="23" HorizontalAlignment="Left" Margin="7,2,0,0" Name="lblSelectionSummary" VerticalAlignment="Top" Width="557" FontFamily="Arial" >
<Label.Content>
<Binding Path="SelectedRows.Count" />
</Label.Content>
</Label>
我很接近这个人。
答案 0 :(得分:3)
您只需在绑定中指定StringFormat
这应该做
<Binding Path="SelectedRows.Count" StringFormat="{}{0} items selected"/>
上面的可能不适用于Label,因为它遵循内容模型,因此您可能需要使用TextBlock
样品
<TextBlock Height="23" HorizontalAlignment="Left" Margin="7,2,0,0" Name="lblSelectionSummary" VerticalAlignment="Top" Width="557" FontFamily="Arial" >
<TextBlock.Text>
<Binding Path="SelectedRows.Count"
StringFormat="{}{0} items selected"/>
</TextBlock.Text>
</TextBlock>
或
<TextBlock Height="23"
HorizontalAlignment="Left"
Margin="7,2,0,0"
Name="lblSelectionSummary"
VerticalAlignment="Top"
Width="557"
FontFamily="Arial"
Text="{Binding SelectedRows.Count, StringFormat={}{0} items selected}" />
将字符串格式与标签
一起使用绑定中的StringFormat适用于字符串类型属性,并且因为Label的Content属性类型是对象所以StringFormat不起作用
感谢blindmeis提示
由于Label遵循Content模型,它使用ContentStringFormat来格式化值,下面是一个使用相同的示例
<Label Content="{Binding SelectedRows.Count}"
ContentStringFormat="{}{0} items selected" />