gpt4 book ai didi

wpf - 在 WPF 中隐藏网格行

转载 作者:行者123 更新时间:2023-12-03 04:59:13 27 4
gpt4 key购买 nike

我有一个简单的 WPF 表单,其中声明了一个 Grid。这个Grid有一堆行:

<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="30" />
<RowDefinition Height="Auto" Name="rowToHide" />
<RowDefinition Height="Auto" MinHeight="30" />
</Grid.RowDefinitions>

名为 rowToHide 的行包含一些输入字段,我想在检测到不需要这些字段后隐藏该行。很简单,只需将 Visibility = Hidden 设置为行中的所有项目即可,但该行仍然占用 Grid 中的空间。我尝试为项目设置 Height = 0,但这似乎不起作用。

您可以这样想:您有一个表单,其中有一个下拉菜单,上面写着“付款类型”,如果该人选择“现金”,您想要隐藏包含卡详细信息的行。无法选择在隐藏状态下启动表单。

最佳答案

行没有 Visibility 属性,因此正如其他人所说,您需要设置 Height。另一种选择是使用转换器,以防您在许多 View 中需要此功能:

    [ValueConversion(typeof(bool), typeof(GridLength))]
public class BoolToGridRowHeightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((bool)value == true) ? new GridLength(1, GridUnitType.Star) : new GridLength(0);
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{ // Don't need any convert back
return null;
}
}

然后在适当的 View 中<Grid.RowDefinition> :

<RowDefinition Height="{Binding IsHiddenRow, Converter={StaticResource BoolToGridRowHeightConverter}}"></RowDefinition>

关于wpf - 在 WPF 中隐藏网格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2502178/

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