的UserControl
我試圖用基本上奠定了像這樣的工作:然後WPF網格和DataGrid大小
<Grid>
<Grid.RowDefinitions>
<Row Height="*"/>
<Row Height="*"/>
</Grid.RowDefinitions>
<wpftoolkit:DataGrid x:Name="PrimaryGrid"/> <!-- ~10 rows -->
<Border>
<Grid>
<Grid.RowDefinitions>
<Row Height="*"/>
<Row Height="*"/>
</Grid.RowDefinitions>
<wpftoolkit:DataGrid x:Name="SecondaryGrid"/> <!-- ~2 rows -->
<wpftoolkit:DataGrid x:Name="OtherGrid"/> <!-- ~50 rows -->
</Grid>
</Border>
</Grid>
這UserControl
放在我的Window
爲Grid
的最後一個成員,是唯一一個與Height="*"
。我在DataGrid
的尺寸方面遇到問題。
如果我在Window
設置UserControl
到Stretch
的VerticalAlignment
,然後PrimaryGrid
得到1/2高度UserControl
的,每一兩個Border
內得到1/4。無論每個行的行數是多少,它們的大小都是這樣,使OtherGrid
的垂直空間太少,而其他行在滾動視圖內的非行空白。
如果我將VerticalAlignment
設置爲Top
,網格看上去與其內容大小相當一致,除了UserControl
底部留有無法解釋的空白。我用探聽和RowDefinition
爲UserControl
具有適當ActualHeight
,但UserControl
僅使用其一部分 - 80%左右。
我不介意我是否修復Stretch
情況下(我如何讓DataGrid
不拉伸比它的行數?大)或Top
情況下(我如何讓UserControl
使用它擁有的所有空間?提供給它)
我會給它一個鏡頭,但上次我嘗試Auto時,OtherGrid展開窗口的底部,沒有滾動條。 – Thomas 2010-01-21 22:39:50
是的,所有的汽車絕對不好。 使兩個網格自動,*有點作品,直到我縮小窗口。然後PrimaryGrid不縮小,邊界逐漸消失。也許我可以給他們一個與ActualHeight比例相關的maxheight。但那似乎是如此沒有必要。 我想我想將DataGrid的MaxHeight綁定到它的ScrollableHeight,但這似乎不起作用。 – Thomas 2010-01-21 22:51:46
作爲一種替代方法:如何使用Auto並將整個UserControl放入ScrollViewer中?這樣,每個DataGrid應該可以獲得所需的空間,並且可以使用(全局)滾動條來滾動。 – Heinzi 2010-01-21 23:41:54