我有一个xaml网格定义为:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
</Grid>
第一列将包含TextBlock,第二列将包含用于数据捕获的TextBox。 如何切换第一列的可见性?
答案 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