c# - WPF中的自动高度

如何将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>

我想在后面的代码中重现此行为。 有任何想法吗?

Karim Agha asked 2019-09-11T09:13:37Z
2个解决方案
127 votes

也许这个链接会对你有所帮助。

有时,你可能想要   以编程方式设置高度或   WPF元素的宽度为自动输入   码。 要做到这一点,只需使用   Double.NaN(非数字)值。

例如,在C#中:

this.txtName.Width = Double.NaN;

Zach Johnson answered 2019-09-11T09:14:10Z
94 votes

您可以使用

RowDefinition rd = new RowDefinition();  
rd.Height = GridLength.Auto;  
ContentGrid.RowDefinitions.Add(rd);
Nimrod Shory answered 2019-09-11T09:14:33Z
translate from https://stackoverflow.com:/questions/2459089/wpf-auto-height-in-code