gpt4 book ai didi

c# - 从 C# 代码动态切换 WPF 网格列的可见性

转载 作者:可可西里 更新时间:2023-11-01 07:52:33 27 4
gpt4 key购买 nike

我的问题是:我找不到如何切换 WPF 网格列的可见性。假设以下 XAML 标记:

<Grid x:Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition x:Name="Row1" />
<RowDefinition x:Name="Row2" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="Column1" />
<ColumnDefinition x:Name="Column2" />
</Grid.ColumnDefinitions>
</Grid>

Aferwards 网格充满了一些控件等。现在我想从我的 C# 代码中动态隐藏单个列。我尝试通过将列的定义宽度设置为零来实现这一点,例如Column1.Width = 0。这行得通,但我不太喜欢这种解决方案 - 真的没有更好的方法吗?

我正在寻找类似 myGrid.Columns[0].Visibility = COLLAPSEDColumn1.Visibility = HIDDEN 的东西。我只是找不到类似的东西 - 有什么想法吗?

最佳答案

<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

关于c# - 从 C# 代码动态切换 WPF 网格列的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com