1. 程式人生 > >WPF學習筆記(3):ListView根據內容自動調整列寬

WPF學習筆記(3):ListView根據內容自動調整列寬

DataGrid中,只要不設定DataGrid的寬度和列寬度,或者將寬度設定為Auto,那麼表格就會根據內容自動調整寬度,以顯示所有內容。但如果是ListView,按以上方法設定,卻達不到列寬自動調整的效果, 列寬在控制元件第一次載入的時候已經確定,之後不會隨著某列資料長度的增加和減少而改變列寬。找了很多方法,感覺下面的方法比較簡單和實用,在每次增加或者刪除資料集合的時候,將 GridViewColumn 的 Width 屬性 設定為 無效值,觸發其自適應效果。

原貼地址:https://blog.csdn.net/djc11282/article/details/42261677

原貼程式碼:

1 GridView gv = lvTrans.View as GridView;
2  if (gv != null)
3 {
4        foreach (GridViewColumn gvc in gv.Columns)
5         {
6                gvc.Width = gvc.ActualWidth;
7                gvc.Width = Double.NaN;
8          }
9 }
C# Code

我將程式碼略作了修改:

1 //使listview根據內容自動調整寬度
2 if (lvAcct.View is GridView gv) 3 { 4 foreach (GridViewColumn gvc in gv.Columns) 5 { 6 gvc.Width = 100; 7 gvc.Width = Double.NaN; 8 } 9 }
C# Code