【发布时间】:2017-06-30 23:47:46
【问题描述】:
我的 ViewModel observablecollection 中有一定数量的行被分组并显示在数据网格中。
<CollectionViewSource x:Key="ColViewSource" Source="{Binding Collection}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Cat"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
我的行包含一个文本字段和一个三态复选框,该复选框需要为真或不确定状态才能被视为“填充”的行(默认为假)。我想在组中的总项目中显示组标题中“填充”行的数量。例如,如果我有一个包含 5 个项目的组,并且用户勾选了 2 个复选框,我希望在组标题中看到 2 out of 5 或 2 / 5。我可以设法在 groupheader 中显示名称和 itemcount,但我坚持显示填充行的数量。这是我希望我的组标题的外观。
<Expander.Header>
<StackPanel Orientation="Horizontal" Height="50">
<TextBlock Text="{Binding Name}"/>
implement this-->
<TextBlock Text = amount of items currently filled.
<TextBlock Text="{Binding ItemCount}"/>
</StackPanel>
</Expander.Header>
我已经为我的收藏和项目实施了 propertychanged。我猜它需要某种转换器,有人能指出我正确的方向吗?
【问题讨论】:
-
我认为第一个,您需要使用复选框的 isChecked 属性进行数据绑定,以了解检查了多少个复选框。 2、然后你可以在ViewModel的numOfFilledItems字段的get属性中添加一些代码来统计它。
-
您是否尝试过使用 IValueConverter?
-
您的包含 Cat 属性的数据对象类型是如何定义的?
标签: c# wpf xaml mvvm converter