2010-12-22 82 views
2

我想做的事情(其实我不知道这是否是可能的)什么是设置一个给定的行的高度根据其内容:设置网格网格RowDefinition高度根据其在Silverlight内容

< Grid.RowDefinitions> < RowDefinition高度= “{结合的ElementName = AAA,路径=身高”/> < RowDefinition高度= “*”/> < /Grid.RowDefinitions>

假设aaa放入网格的行中。

请注意:我想让我的排在开始时保持高度。

这可能吗?

干杯!

回答

2
<RowDefinition Height="Auto" /> 

应该做你想做的。

编辑

你可以做的是增加一个处理程序内容的SizeChanged事件。在该处理程序,设置网格的适当RowDefinition的高度与内容的ActualHeight和删除的处理程序:

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

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

+0

不幸的是我的控制可能会改变它的高度(它可能会扩大)。但是,我希望网格行的高度在开始时保持不变,因此Auto不是一个好选择(该行将被调整大小) – Jamie 2010-12-23 00:03:21

相关问题