代码中的自动高度

如何在 C # 代码中将 WPF 控件的 Height属性的值设置为“ Auto”?

<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>

我想在后面的代码中重现这种行为,有什么想法吗?

107061 次浏览

也许 this link能帮到你。

有时候,你可能想 以编程方式设置“高度”或 Width of a WPF element to Auto in 要做到这一点,只需使用 Double.NaN (Not a Number) value.

例如,在 C # 中:

this.txtName.Width = Double.NaN;

你可以用

RowDefinition rd = new RowDefinition();
rd.Height = GridLength.Auto;
ContentGrid.RowDefinitions.Add(rd);

虽然这个问题已经通过代码隐藏(按照要求)得到了回答,但对于没有 "auto"的基本控件属性,在 XAML 中有相同的解决方案:

xmlns:sys="clr-namespace:System;assembly=mscorlib"


Height="{x:Static sys:Double.NaN}"

因为谷歌把我带到这里时,搜索一个 TextBox的 XAML 解决方案(汽车不存在)。