首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ObservableCollection计数绑定到wpf标签并格式化标签

将ObservableCollection计数绑定到wpf标签并格式化标签
EN

Stack Overflow用户
提问于 2014-07-24 13:43:29
回答 1查看 1.6K关注 0票数 0

我有一个标签,在这里我要显示列表中所选项目的数量(列表项是从网格中选择的)。这一切都运行良好,标签显示数字。我想要的是使标签显示"5项选定“。现在,我只知道数字5。这是xaml:

代码语言:javascript
复制
<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>

我已经接近这家伙了。

EN

回答 1

Stack Overflow用户

发布于 2014-07-24 13:46:10

只需在绑定中指定StringFormat即可。

这应该可以

代码语言:javascript
复制
<Binding Path="SelectedRows.Count" StringFormat="{}{0} items selected"/>

以上可能不适用于标签,因为它遵循内容模型,因此您可能需要使用TextBlock代替。

示例

代码语言:javascript
复制
<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>

代码语言:javascript
复制
<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适用于字符串类型属性,因为标签的内容属性类型是对象,所以StringFormat不能工作。

感谢盲人的暗示

由于标签遵循内容模型,它使用ContentStringFormat对值进行格式化,下面是一个使用相同的示例

代码语言:javascript
复制
<Label Content="{Binding SelectedRows.Count}" 
       ContentStringFormat="{}{0} items selected" />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24935448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档