【问题标题】:Reorder bindable listview by drag and drop using UWP使用 UWP 通过拖放重新排序可绑定列表视图
【发布时间】:2018-03-13 08:24:03
【问题描述】:

我正在尝试通过拖放重新排序ListView,它在使用静态项目时对我有用,但是当我使用 itemsSorce 绑定数据时,拖动工作正常,但我可以' t drop item 这是我的代码

C#:

lstSrvMenu.ItemsSource = Menue.MainItems.Where(m => int.Parse(m.GroupID) > 0);

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>

【问题讨论】:

    标签: c# xaml listview drag-and-drop uwp


    【解决方案1】:

    当我使用 itemsSorce 绑定数据时,拖动工作正常,但我无法放下项目,这是我的代码。

    问题是 ListView ItemSourse 的类型不是 ObservableCollection 。当你完全拖动item时,数据源的排序不会改变,界面也不会随之改变。根据您的要求,您可以使用ObservableCollection 而不是List&lt;&gt;

    示例

    var list = new ObservableCollection<string>();
    for (var i = 0; i < 10; i++)
    {
        list.Add(i.ToString() + "Template");
    }
    lstSrvMenu.ItemsSource = list;
    

    【讨论】:

    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 2020-04-05
    • 2018-09-09
    • 2013-10-01
    • 2018-01-25
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    相关资源
    最近更新 更多