Windows10 TH2、ビルド10586と呼ばれてるやつでWindows 8.1向けなアプリのListViewが並び替えられないバグを回避するコード書きました。
本来であれば、こうすれば並び替えられます。
<ListView CanReorderItems="True" CanDragItems="True" AllowDrop="True" />
これをTH2上で実行すると並び替えられそうな動きはするけども実際並び替えられません。ちなみにランタイムのバグだそうです。
この問題は以下の条件がそろった場合に発生します。
- Windows 10 Build 10586 *1
- Windows 8.1 ターゲットのアプリケーション
Windows 8.1 ターゲットのアプリが問題なのでWindows 10向け、つまりUWPでは発生しません。というわけでこのバグを回避するコードです。
プロジェクトに追加して適当な感じで使ってください。たとえばこんな感じ。
<ListView CanReorderItems="True" CanDragItems="True" AllowDrop="True" extension:TH2Workarounds.ReorderListViewItem="True"/>
ItemsSourceにObservableCollection
*1:2015/12/12 時点のビルド10586.29 で未修正