ListView 重新排序是否停止在 Windows 10 个 RT 应用程序上工作?

Did ListView reordering stop working on Windows 10 RT apps?

我在 Windows 8.1 应用程序 运行 中有一个简单的 ListView Windows 10(版本 1511,内部版本 10586.36):

<ListView 
        x:Name="ItemListView" 
        VerticalAlignment="Stretch" 
        HorizontalAlignment="Stretch" 
        ItemsSource="{Binding Items, Mode=OneWay}"
        ItemTemplate="{StaticResource ItemTemplate}"        
        TabNavigation="Local"
        SelectionMode="None"
        AllowDrop="True" 
        IsSwipeEnabled="True"
        CanReorderItems="True"
        Padding="0"
        Margin="10"         
    />

我的 ViewModel 中只有一个简单的 ObservableCollection of Items,我正在使用 MVVMLight 实现 RaisePropertyChanged()

private ObservableCollection<Item> items;
public ObservableCollection<Item> Items
    {
        get { return items; }
        set {
            var oldVal = items;
            items = value;
            RaisePropertyChanged("Items", oldVal, items, true);
        }
    }

当我实例化 ViewModel 并将其设置为页面的 DataContext 时,我设置了一个项目列表,其中包含数字(1 到 6),因此我可以看到它们之间的区别并查看是否功能正常。

此处的目标是通过将行从 ListView 中的一个位置拖放到另一个位置来重新排序项目。阅读文档,这应该可以工作,而且确实在一个月前就可以了。自从我上次看到它工作以来,我不认为我对代码进行了任何更改。 (我知道,这是一个难以接受的说法。)

现在,您可以将项目拖放到不同的位置,但它们会弹出回到原来的位置。换句话说,可以将项目拖动到 ListView 中的不同位置,但在放下时它们会恢复到原来的位置。

我怀疑最近的 Windows 10 更新破坏了这个功能(就像 CurrentApp.LicenseInformation 一样),但是如果有人在这里看到我做错了什么,我会感谢知道它是什么。

这是 Windows 10 build 10586 的一个已知问题,目前正在调查中。

关注https://social.msdn.microsoft.com/Forums/windowsapps/en-US/49a84f9f-69d7-4304-9cb7-ac44fd570252/w81-listview-canreorderitems-functionality-broken-in-windows-10-build-1511?forum=wpdevelop了解详情。