当用户更改顺序时,我需要同步两个ListView的列顺序。但似乎没有列重新排序事件。
目前我只是将AllowsColumnReorder设置为“False”,但这不是永久解决方案。在搜索网络时,我发现很多人都有同样的问题,但没有解决方案。该怎么办?
我不确定它是否有效,但您可能可以利用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);
}
}