根据Silverlight中的内容在Grid中设置Grid RowDefinition高度

时间:2010-12-22 23:54:03

标签: c# silverlight binding height row

我想做什么(我实际上不知道是否可能)是根据其内容设置给定行的高度:

< Grid.RowDefinitions>   < RowDefinition Height =“{Binding ElementName = aaa,Path = Height”/> < RowDefinition Height =“*”/> < /Grid.RowDefinitions>

假设aaa被放入Grid的行中。

请注意:我希望我的行能够在最开始时设置高度。

这可能吗?

干杯!

1 个答案:

答案 0 :(得分:2)

<RowDefinition Height="Auto" />

应该做你想做的事。

修改

您可以做的是为内容的SizeChanged事件添加处理程序。在该处理程序中,将网格的相应RowDefinition的高度设置为内容的ActualHeight并删除处理程序:

grid.RowDefinitions[x].Height = new GridLength(((FrameworkElement)sender).ActualHeight, GridUnitType.Pixel);
content.SizeChanged -= content_SizeChanged;

我没有测试过,但它应该给你一个良好的开端。 编辑测试,它的工作原理。也许有更好的方法,但这是一种方式。