Ana*_*neh 2 c# xaml listview drag-and-drop uwp
我试图ListView 通过拖放重新排序,它在使用静态项目时与我一起工作,但是当我使用itemsSorce绑定数据时绑定数据时,拖动工作正常,但我无法删除该项目,这是我的代码
C#:
lstSrvMenu.ItemsSource = Menue.MainItems.Where(m => int.Parse(m.GroupID) > 0);
Run Code Online (Sandbox Code Playgroud)
XAML:
<ListView Name="lstSrvMenu" Margin="0,40,0,0" AllowDrop="True" CanDragItems="True" CanReorderItems="True" IsSwipeEnabled="true">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding GroupTDesc}" TextWrapping="WrapWholeWords" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)
当我使用 itemsSorce 绑定数据时,拖动工作正常,但我无法删除该项目,这是我的代码。
问题是 的类型 ListView ItemSourse 不是ObservableCollection。当完全拖动item时,数据源的排序不会改变,界面也不会相应改变。根据您的要求,您可以使用ObservableCollection而不是List<>.
例子
var list = new ObservableCollection<string>();
for (var i = 0; i < 10; i++)
{
list.Add(i.ToString() + "Template");
}
lstSrvMenu.ItemsSource = list;
Run Code Online (Sandbox Code Playgroud)