Привязать свойство видимости DataGridTextColumn в WPF
У меня есть датагрид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>
Мне нужен флажок в моей viewmodel, так что у меня есть его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}}"/>
Любые предложения о том, как я могу решить эту проблему в сетке данных?
Пожалуйста, дайте мне знать, если я пропустил какой-либо код, который мог бы быть потенциально полезным.