如何将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>
我想在后面的代码中重现这种行为。有什么想法吗?
答案 0 :(得分:130)
也许this link会帮助你。
有时,您可能想要 以编程方式设置高度或 WPF元素的宽度为自动输入 码。要做到这一点,只需使用 Double.NaN(非数字)值。
例如,在C#中:
this.txtName.Width = Double.NaN;
答案 1 :(得分:95)
您可以使用
RowDefinition rd = new RowDefinition(); rd.Height = GridLength.Auto; ContentGrid.RowDefinitions.Add(rd);
答案 2 :(得分:4)
虽然问题已通过代码隐藏(如所问)得到解答,但对于没有 "auto"
的基本控件属性,这里有相同的 XAML 解决方案:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Height="{x:Static sys:Double.NaN}"
发布是因为 Google 在搜索 TextBox
的 XAML 解决方案时将我带到这里(自动不存在)。