前提・実現したいこと
Xamarin.Formsを使ったモバイルアプリを作成中です。
便利なListViewが使いたいと思って、Syncfusion製のSfListViewを使用しています。
項目の並び替えを行うために、下記URLを参考にして実装を行いました。
SfListViewの項目並び替え
その結果、下記のようにDragDropController.UpdateSourceをtrueに設定すると正常に動作しました。
C#
1this.listView.DragDropController.UpdateSource = true;
一方、以下のようにItemDraggingイベントのハンドラーで入れ替えを行ったときには項目自体の入れ替えは正しく実行されるもののビューが正しく変化しませんでした。
C#
1void Handle_ItemDragging(object sender, Syncfusion.ListView.XForms.ItemDraggingEventArgs e) 2{ 3 if (e.Action == DragAction.Drop) 4 { 5 //項目の入れ替え処理 6 (中略) 7 } 8}
発生している問題・エラーメッセージ
該当のソースコード
以下にサンプルコードを置いています。
SfListViewReorderSample
具体的なファイルは「SfListViewReorderSample/SfListViewReorderSample/MainPage.xaml.cs」で、
該当のソースコードは以下の通りです。
C#
1void Handle_ItemDragging(object sender, Syncfusion.ListView.XForms.ItemDraggingEventArgs e) 2{ 3 if (e.Action == DragAction.Drop) 4 { 5 var vm = BindingContext as MainPageViewModel; 6 7 //Swap Event 8 var tempEvent = vm.m_Events[e.OldIndex]; 9 vm.m_Events[e.OldIndex] = vm.m_Events[e.NewIndex]; 10 vm.m_Events[e.NewIndex] = tempEvent; 11 } 12}
補足情報(FW/ツールのバージョンなど)
- Visual Studio Community 2017 for Mac Version 7.5.4 (build 3)
- Xamarin.iOS Version: 11.12.0.4 (Visual Studio Community)
その他必要な情報などございましたらお知らせください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。