WPF隐藏网格列

时间:2010-08-04 14:25:46

标签: grid

我有一个xaml网格定义为:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="150"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
</Grid>

第一列将包含TextBlock,第二列将包含用于数据捕获的TextBox。 如何切换第一列的可见性?

2 个答案:

答案 0 :(得分:6)

我的问题的解决方案是将第一列的宽度更改为“自动”。然后我设置了我的第一个文本框的绑定,以便它的Visibility属性设置为Collapsed(不隐藏),这导致列未被渲染。

答案 1 :(得分:0)

 <ColumnDefinition>
       <ColumnDefinition.Style>
             <Style TargetType="ColumnDefinition">
                 <Setter Property="Width" Value="*" />
                     <Style.Triggers>
                         <DataTrigger Binding="{Binding IsColumnVisible}" Value="False">
                             <Setter Property="Width" Value="0" />
                         </DataTrigger>
                      </Style.Triggers>
              </Style>
         </ColumnDefinition.Style>
    </ColumnDefinition>

请在您的ViewModel中实现INotifyPropertyChanged