gpt4 book ai didi

xaml - 有没有一种简单的方法来重新排序 ListView 中的项目

转载 作者:行者123 更新时间:2023-12-02 22:43:27 27 4
gpt4 key购买 nike

我有一个绑定(bind)到 ObservableCollection 的 ListView 数据。我将 CanReorderItems 属性设置为 true。

但是,当我在 ListView 中拖动项目时,它们会留在原来的位置。

有什么简单的方法可以在 ListView 中启用重新排序吗?

这是我的代码:页面构造函数:

public BlankPage()
{
this.InitializeComponent();
ObservableCollection<MyClass> c = new ObservableCollection<MyClass>();
c.Add(new MyClass("a"));
c.Add(new MyClass("b"));
c.Add(new MyClass("c"));
DataContext = c;
}

页面的XAML:

<ListView ItemsSource="{Binding}" CanDragItems="true" CanReorderItems="true" AllowDrop="True"></ListView>

最佳答案

有一个bug现在在 ListView 和 GridView 中(注意问题是在 Windows 8.0 发布之前提出的)并且您需要使用 CollectionViewSource:

public BlankPage()
{
this.InitializeComponent();
ObservableCollection<MyClass> c = new ObservableCollection<MyClass>();
c.Add(new MyClass("a"));
c.Add(new MyClass("b"));
c.Add(new MyClass("c"));
var viewSource = new CollectionViewSource { Source = c };

DataContext = viewSource.View;
}

关于xaml - 有没有一种简单的方法来重新排序 ListView 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10420947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com