2012-01-05 26 views
2

我正在尋找在web上重現行爲,我幾乎每一次使用Windows窗體:WPF的DataGrid無法重現WindowsForms DataGrid的調整行爲

列調整,讓內容以適合,如果有ISN」滾動條出現足夠的空間。 例如,如果我將窗口最大化,使得我可以獲得比所需空間更多的空間,那麼將調整列的大小以填充所有空間。

如何實現這一目標?這可能嗎?

+0

這可能無法實現的原因與虛擬化有關。如果列自動調整爲內容大小,隨着用戶上下滾動,它們將不斷增大/縮小,這會導致用戶體驗不佳。 – 2012-01-06 01:32:18

+0

我相信這是可能的winforms,這就是爲什麼我問(我用了很多次!) – 2012-01-06 01:40:46

+0

我現在注意到,只有行是虛擬化,而不是列;也許可以在某種程度上幫助 – 2012-01-06 01:50:19

回答

0

這是不可能不通過代碼,我測試了成千上萬的方式,我無法通過C#代碼找到解決方案。

0

使用星寬度

<ColumnDefinition Width="1*"/> 
<ColumnDefinition Width="1*"/> 

您可以用數字設置優先級。

<ColumnDefinition Width="3*"/> 
<ColumnDefinition Width="1*"/> 

第一列是第二列的3倍。

+0

哪裏columndefinition應該放在datagrid?我現在正在使用DataGridTextColumn。此外,您的答案不工作:通過這種方式列將嘗試以適應可用的空間,而如果所有內容都無法顯示,並且我們有更多空間時,他們將「填充」該空間,而不是在DataGridTextColumn的寬度中顯示空白列 – 2012-01-05 23:56:31

+0

可以使用1 * vaquito 2012-01-05 23:57:44

+0

閱讀上一條評論的編輯,對不起,在您發佈時進行了編輯 – 2012-01-05 23:59:08