WPF Listview:列重新排序事件?

时间:2009-09-04 15:22:34

标签: wpf listview

当用户更改订单时,我需要同步两个ListViews事件的列顺序。但似乎没有Column重新排序事件。

目前我刚刚做了一个AllowColumnReorder =“False”,但这不是一个永久的解决方案。在搜索网络时,我发现很多人有同样的问题,但没有解决方案。可以做些什么?

1 个答案:

答案 0 :(得分:10)

我不确定它是否有效,但你可以利用GridView.ColumnsObservableCollection的事实:你可以订阅CollectionChanged事件并处理Action = Move

GridView gridView = (GridView)listView.View;
gridView.Columns.CollectionChanged += gridView_CollectionChanged;

private void gridView_CollectionChanged(object sender, CollectionChangedEventArgs e)
{
    if (e.Action == NotifyCollectionChangedAction.Move)
    {
        string msg = string.Format("Column moved from position {0} to position {1}", e.OldIndex, e.NewIndex);
        MessageBox.Show(msg);
    }
}