代码之家  ›  专栏  ›  技术社区  ›  TalkingCode

wpf listview:列重新排序事件?

  •  2
  • TalkingCode  · 技术社区  · 16 年前

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

    目前我只做了allowColumnReorder=“false”,但这不是一个永久的解决方案。在搜索网络时,我发现许多人都有同样的问题,但没有解决办法。可以做什么?

    1 回复  |  直到 14 年前
        1
  •  9
  •   Thomas Levesque    16 年前

    我不确定它是否有效,但你可以利用这个事实 GridView.Columns 是一个 ObservableCollection :您可以订阅 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);
        }
    }