2011-01-31 83 views
1

如何在wpf中重新排列網格和列表視圖的行和列。請討論。謝謝網格或列表視圖行和列重新排序WPF

+0

托馬斯你的意思是你想拖拽列和行來水平移動它們(列)和鼠標動態(行)? – 2011-01-31 09:49:17

+0

是的,我想要同樣的效果。 – Thomas 2011-01-31 10:10:38

回答

3

在運行時,可以通過拖放列標題來重新排列列。要重新排序列程序,您需要修改ListView.View的Columns集合,例如:

GridView gv = listview.View as GridView; 
GridViewColumn cd = gv.Columns[0]; 
gv.Columns.Remove(cd); 
gv.Columns.Add(cd); 

(假設列表視圖是你的ListView和視圖是一個GridView至少有2列),該代碼就會把第一列最後。

要對行進行重新排序,編程式,您可以修改ListView後面的集合(如果ListView沒有排序,如果它不應該要更改行的順序)。

要通過拖放對行進行重新排序,您需要編寫一些代碼來處理定義拖放操作的所有漂亮事件。一個例子和起點可以是this blog post

此外,如果您提供更多詳細信息,您可以提供更詳細的答案。

0

如果您想重新排列行並保存或使用新的行順序,我建議您添加一個名爲Index或RowIndex的列或其他任何對您的控件的基礎數據源,以這種方式與拖動操作&只需爲給定行更改該列的值,並且在完成所有操作後,您可以將該值存儲或用於下一個渲染或您需要的任何其他位置。