[英]WPF Datagrid Column Visibility not working with MultiBinding
我试图使用两个布尔值来控制DataGridTextColumn的可见性。 值之一是由组合框设置的,我可以在调试器中看到booleanAllTrueConverter正确处理了布尔值。
我的问题是返回的转换器值对列可见性没有影响。 即使从转换器返回FALSE,该列也始终可见。
我会很感激所提供的任何想法。
谢谢。
<DataGrid
Name="myDataGrid"
ItemsSource="{Binding Source={StaticResource ZZZZ}}"
AutoGenerateColumns="False"
IsReadOnly="True"
KeyboardNavigation.TabNavigation="None"
>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding SomeItems}" >
<DataGridTextColumn.Visibility>
<MultiBinding Converter="{StaticResource booleanAllTrueConverter}">
<Binding
Source="{StaticResource ProxyElement}"
Path="DataContext.IsBlahVisible"
Mode="TwoWay"
UpdateSourceTrigger="PropertyChanged"
/>
<Binding
Source="{StaticResource ProxyElement}"
Path="DataContext.AreColumnsVisible"
Mode="TwoWay"
UpdateSourceTrigger="PropertyChanged"
/>
</MultiBinding>
</DataGridTextColumn.Visibility>
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<local:ComboBox
Grid.Column="0"
Width="22"
Height="36"
HorizontalAlignment="Right"
VerticalAlignment="Center"
ItemsSource="{Binding DataContext.SomeItems, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
SelectedItems="{Binding DataContext.SelectedSomeItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
></local:ComboBox>
<TextBlock
Text="SomeItems"
Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Grid.ColumnSpan="2"
Height="16"
Margin="0,3"
Width="37"
/>
</Grid>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
您需要在回报Visibility.Visible
,而不是true
或返回Visibility.Collapsed
而不是false
的booleanAllTrueConverter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.