2010-12-22 100 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

相關問題