【问题标题】:WPF Listview : Column reorder event?WPF Listview:列重新排序事件?
【发布时间】:2009-09-04 15:22:33
【问题描述】:

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

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

【问题讨论】:

    标签: wpf listview


    【解决方案1】:

    我不确定它是否有效,但您可能会利用 GridView.ColumnsObservableCollection 的事实:您可以订阅 CollectionChanged 事件并处理 Action = @987654325 的情况@

    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);
        }
    }
    

    【讨论】:

    • 到目前为止工作正常。语法发生了一些变化。使用 NotifyCollectionChangedEventArgs、e.OldStartingIndex 和 e.NewStartingIndex
    • @TalkingCode 谢谢!要在 .NET4 中使用此代码,必须进行此更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2010-11-17
    • 2015-08-27
    • 1970-01-01
    相关资源
    最近更新 更多