2011-02-24 60 views

回答

2

所以,我發現的答案...只需將DataGrid放入垂直方向的StackPanel中即可。它具有無限的高度,因此網格將根據需要佔用盡可能多的空間。

0

編輯:回覆:樓主的評論

你好再次,

真正回答你的問題是沒有 --I'm確保你不想聽。沒有辦法讓孩子脫離身體,做自己的事情。

但是,我們可以使用一些模式來解決該問題。這些解決方法可以產生類似於所需的效果。最難的是打破DataGrid父級確定的限制。從我可以告訴,你只有兩條路線,你可以去:

選項1:重構所有的家長調整與DataGrid的大小。做到這一點的最好方法是在所有方面使用MinWidth和MinHeight屬性。默認情況下,他們將使用他們的大小,但如果他們的一個孩子需要更多空間,他們將擴大。這樣做可以讓DataGrid根據需要進行擴展。

<Grid MinWidth="500" MinHeight="500"> 
    <sdk:DataGrid ItemsSource="{Binding Items}"> 
</Grid> 

選項2:將DataGrid放置在「父」控件上。認爲HTML/CSS。這是最棘手的概念,因爲您必須「知道」DataGrid的放置位置以及如何增長。你可以添加一個剪切路徑來使DataGrid看起來像它是Grid的一個子節點,但這是另一篇文章的答案。

<Grid Width="500", Height="500"/> 
<sdk:DataGrid ItemsSource="{Binding Items}" Margin="300,300,0,0"/> 

再次,我希望這有助於。需要幫助請叫我。


你好,

我假設你想在DataGrid的滾動條。

默認情況下,DataGrid將生成所有列。但是,因爲默認情況下它不啓用滾動條,它會嘗試將它找到的所有列都放到一個屏幕中。您可以通過設置DataGrid的ScrollViewer來顯示它們來啓用這些滾動條。

如果這不是你所需要的,請告訴我。

祝您有美好的一天!

<sdk:DataGrid 
ItemsSource="{Binding Items}" 
AutoGenerateColumns="True" 
ScrollViewer.HorizontalScrollBarVisibility="Visible"  
ScrollViewer.VerticalScrollBarVisibility="Visible"/> 

P.S.如果您正在手動設置色譜柱,請勿設置Width="*"。設置Width="*"指示DataGrid只使用一個屏幕中可用的餘量寬度。

避免這個! <sdk:DataGridTextColumn ... Width="*"/>

+0

不,我想DataGrid沒有列,但大到足以容納它的所有內容。 – user626528 2011-02-24 15:44:02

+0

希望我的編輯能幫助你一點。我還沒有遇到過簡單的方法去做你想做的事。 – Jeremiah 2011-02-24 16:03:24

+0

我不想讓任何孩子脫離。我需要一個非常簡單的東西 - DataGrid足夠大,可以同時適合所有行,而無需滾動。它的一部分將是不可見的,是的,但這不是問題。 – user626528 2011-02-25 10:00:42

相關問題