2010-08-09 242 views
9

我有一個DataGrid控制在Grid佈局容器內,我似乎無法得到自動滾動DataGrid本身工作。我可以圍繞ScrollViewer包裝DataGrid,從而添加滾動條,但自動滾動不起作用。如何啓用滾動條/滾動WPF Datagrid

所以現在,當新條目被添加到DataGrid時,DataGrid只是垂直擴展。我希望啓用垂直滾動條,允許在添加更多項目時滾動到DataGrid中的項目,而不是擴大整個DataGrid。當然,必須有一個簡單的方法來實現這一點。

+0

可能重複[WPF Datagrid - 不顯示任何滾動條](https://stackoverflow.com/questions/24015890/wpf-datagrid-not-showing-any-scrollbar) – 2017-11-03 03:10:09

回答

16

好吧,得到了這個想法......事實證明,我甚至不需要將數據網格包裹在ScrollViewer中。我所要做的就是定義數據網格的高度(使用「高度」屬性),並且在添加超出高度的項目時出現datagrid滾動條。顯然,當高度未定義時,它是動態的,並且在添加新項目時垂直擴展。

另一件要補充的是,在我的數據網格中,我也爲每一行定義了行細節,所以當多行的細節被展開時,滾動將被啓用,但滾動條的行爲是一點點古怪(就像它不是平滑滾動),並修復它使其平滑滾動添加以下datagrid屬性:ScrollViewer.CanContentScroll =「False」(我猜數據網格控件是從/從ScrollViewer繼承)然後滾動平穩,並像正常的預期滾動行爲。

+13

我建議遠離明確設置Datagrid的高度。相反,將數據網格放入DockPanel或Grid中,垂直滾動將自動發生,您的數據網格將使用可用的所有空間。 – knockando 2011-09-28 22:21:32