В настоящее время я столкнулся с проблемой при попытке выполнить условную привязку в WPF. Я читал о проблеме, и мне кажется, что «видимость» на самом деле не вариант для DataGridColumns, поскольку ее нет в логическом дереве. В настоящее время у меня есть объект «Устройство», который содержит список объектов «Канал». Эти каналы могут быть как входными, так и выходными, что обозначается логическим значением isInput. Я пытаюсь создать две сетки данных, одну со входами, а другую с выходами.
<DataGrid Grid.Row="0" AutoGenerateColumns="False" ItemsSource="{Binding Path=Channels}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Type}"
Visibility="{Binding Path=(model:Channel.IsInput),
Converter={StaticResource BooltoVisibilityConverter}}"/>
</DataGrid.Columns>
</DataGrid>
Это то, что у меня есть в настоящее время, но поскольку видимость не работает, я хотел бы иметь способ либо скрыть всю строку, когда IsInput = false, либо полностью ее пропустить.