我有一个ItemsSource
绑定到CollectionViewSource
.
在每一列中,我指定Path
绑定的属性以获取要显示的特定信息。
如果用户想要更多信息,我想做的是用复选框切换一些列。为此,我需要将可见性属性绑定到复选框的值(使用转换器),但我很确定列的数据上下文会干扰绑定。
<DataGrid ItemsSource="{Binding Source={StaticResource cvs}}" ....>
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName}"
Visibility="{Binding IsChecked,
ElementName=IncludeFullHist,
Converter={StaticResource boolItemsConverter}}"/>
</DataGrid.Columns>
</DataGrid>
我的视图模型中也需要该复选框,因此我将其IsChecked
属性绑定到我的视图模型上的属性
<CheckBox x:Name="IncludeFullHist" IsChecked="{Binding Path=ManagerFullHist }" />
对于我页面中的其他元素,我已经能够使用以下两种方法中的任何一种来连接可见性绑定,但是当我将它们复制到数据网格中时,它们似乎都不起作用:
<TextBlock DockPanel.Dock="Left" Text=" Visible 2 "
Visibility="{Binding Path=DataContext.ManagerFullHist,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}},
Converter={StaticResource boolItemsConverter}}"/>
<TextBlock DockPanel.Dock="Left" Text=" Visible 3 "
Visibility="{Binding Path=ManagerFullHist,
Source={StaticResource mainWinResource},
Converter={StaticResource boolItemsConverter}}"/>
关于我可以在数据网格中解决这个问题的方法有什么建议吗?
如果我省略了任何可能有用的代码,请告诉我。