根据组中的项属性值更改组头

时间:2017-01-30 16:40:40

标签: c# wpf xaml grouping

我创建了一个collectionviewsource,它绑定到我的收藏(对项目进行分组)

<CollectionViewSource x:Key="ColViewSource" Source="{Binding Collection}">
   <CollectionViewSource.GroupDescriptions>
      <PropertyGroupDescription PropertyName="Cat"/>
   </CollectionViewSource.GroupDescriptions>
</CollectionViewSource>

我希望根据collectionitem中属性的值编辑组头。 我的Groupheader看起来像这样:

<StackPanel Orientation="Horizontal" Height="50">
   <CheckBox Style="{StaticResource GroupCheckBox}" Margin="2,0,0,0" x:Name="chone" IsChecked="{Binding ischone}" VerticalAlignment="Center" IsHitTestVisible="False"/>
   <TextBlock Text="{Binding Name}"  FontSize="25" VerticalAlignment="Center" Foreground="White" />
   <TextBlock Text="{Binding ItemCount}" FontSize="25" FontWeight="Bold" VerticalAlignment="Center" Foreground="White" />
</StackPanel>

假设第一组包含1个项目/行。此项目有一个文本框。我想要做的是当文本框有任何文本时,将此groupheader的复选框设置为True。 (如果txtbox.text!=&#34;&#34;)表示该组中的所有项目都已填写。

下一组有2个项目,每个项目都有一个复选框。现在,当项目中的复选框都为true时,我想将此groupheaders复选框设置为True。

我找到了这个链接:https://social.msdn.microsoft.com/Forums/vstudio/en-US/758fceb5-90a6-4e66-b648-03b07dc8a139/iterate-over-collectionviewgroups-collection?forum=wpf

答案:

foreach (CollectionViewGroup group in this.view.Groups){MessageBox.Show(group.Name.ToString());   }

..但我不能让代码工作 我的问题似乎是从某个地方(Collectionviewsource?)获取每个group / groupheader / values作为CollectionViewGroup对象?如果我可以这样做,我可以检查组名称是否等于某个值,并从那里执行我对物品属性值的检查,并设置组复选框,我猜。 有什么建议吗?

0 个答案:

没有答案