C# 重新排序ListView项:事件和拖放

C# 重新排序ListView项:事件和拖放,c#,windows-runtime,C#,Windows Runtime,我的页面包含两个ListView元素,ListA和ListB。您可以使用简单的拖放操作将项目(对象)从ListA复制到ListB。为此,我使用列表的DragItemsStarting和Drop事件。那很好用。现在,您可以对ListB中的项目重新排序。所有必需的属性都已设置(重新排序、拖放),这同样有效 但现在我想对这一事件做出反应,但我没有找到一个我能听到的事件。因此,我认为可以使用同一列表上的拖放事件来了解用户何时更改了项目的选项 那么,我如何才能识别ListB的项已被重新排序 我的代码(使用

我的页面包含两个ListView元素,ListA和ListB。您可以使用简单的拖放操作将项目(对象)从ListA复制到ListB。为此,我使用列表的DragItemsStarting和Drop事件。那很好用。现在,您可以对ListB中的项目重新排序。所有必需的属性都已设置(重新排序、拖放),这同样有效

但现在我想对这一事件做出反应,但我没有找到一个我能听到的事件。因此,我认为可以使用同一列表上的拖放事件来了解用户何时更改了项目的选项

那么,我如何才能识别ListB的项已被重新排序

我的代码(使用拖放方法):

好的,问题解决了:)

要在同一UI元素(在本例中为ListView)上使用拖放功能,需要禁用CanReOrOrderItems选项。那么我上面提供的代码就可以工作了

ListB.CanReorderItems = false;
但是,如果您希望保留对列表B中的项目重新排序的选项(实际上是我的原始问题),您可以订阅以下事件:

view.VectorChanged += viewVectorChanged;

...

private void viewVectorChanged(Windows.Foundation.Collections.IObservableVector<object> sender, Windows.Foundation.Collections.IVectorChangedEventArgs @event) {

}
view.VectorChanged+=viewVectorChanged;
...
私有空视图VIEVCCORT(WORDOWS.Buff.S.IsVabable向量发送器)
}
因为我的列表绑定到CollectionViewSource,所以这对我来说很好。否则,ListView应该有一个类似的事件,您可以订阅。

好的,问题已解决:)

要在同一UI元素(在本例中为ListView)上使用拖放功能,需要禁用CanReOrOrderItems选项。那么我上面提供的代码就可以工作了

ListB.CanReorderItems = false;
但是,如果您希望保留对列表B中的项目重新排序的选项(实际上是我的原始问题),您可以订阅以下事件:

view.VectorChanged += viewVectorChanged;

...

private void viewVectorChanged(Windows.Foundation.Collections.IObservableVector<object> sender, Windows.Foundation.Collections.IVectorChangedEventArgs @event) {

}
view.VectorChanged+=viewVectorChanged;
...
私有空视图VIEVCCORT(WORDOWS.Buff.S.IsVabable向量发送器)
}

因为我的列表绑定到CollectionViewSource,所以这对我来说很好。否则,ListView应该有一个类似的事件,您可以订阅。

有趣。我有一个
ObservableCollection
,刚刚订阅了
CollectionChanging
事件。但我确实需要离开
CanReorderItems=True
。这篇文章的答案是:有趣。我有一个
ObservableCollection
,刚刚订阅了
CollectionChanging
事件。但我确实需要离开
CanReorderItems=True
。这篇文章的答案是: