【发布时间】:2016-07-24 06:07:35
【问题描述】:
这应该很简单,但让我感到困惑。我想根据另一个元素的Visibility 设置我的DataGridTextColumn 之一的Visibility。所以我这样做了:
<StackPanel>
<TextBlock Text="This is the text" Name="MyTextBlock" Margin="5">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}" >
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyTextBox, Path=Text}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<TextBox Text="2" Name="MyTextBox" />
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="H1" />
<DataGridTextColumn Header="H2" Visibility="{Binding ElementName=MyTextBlock, Path=Visibility}" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
MyTextBlock 的 Visibility 工作正常,但 DataGridTextColumn H2 始终可见。我做错了什么?
【问题讨论】:
-
看看这个thread。应该可以解决您的问题。