如何通过保留项目来重新排序itemscontrol中的项目?

时间:2015-10-07 15:01:04

标签: xaml drag-and-drop windows-runtime windows-phone-8.1 winrt-xaml

我尝试重新排序end中的items。当我将ItemsControl中的ManipulationMode元素设置为ItemsControl ManipulationModes.TranslateY时,{对于这个问题,我在ScrollView事件中更改了此ManipulationMode,但我遇到了一个新问题。 在我的代码中,我们需要在握住后释放手指并再次触摸移动。我需要握住并移动手指来拖动没有握住的物品,然后再次触摸并移动。这个版本对我和用户都有害 请帮帮我。

我的代码:

Holding

和行为:

<ItemsControl ItemsSource="{Binding Items}"
                x:Name="todoList">

            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <Border Background="{Binding Path=color, Converter={StaticResource ColorToBrushConverter}}"
                Height="75"
                x:Name="todoItem">
                        <i:Interaction.Behaviors>
                            <Behaviors:DragReOrderBehavior />
                        </i:Interaction.Behaviors>

                        <Grid Background="{StaticResource itemGradient}">
                             <!--task text-->
                            <TextBlock Text="{Binding Title}"
                       Margin="15,15,0,15" FontSize="25" TextWrapping="Wrap"
                       x:Name="taskText"/>
                        </Grid>
                    </Border>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

}

1 个答案:

答案 0 :(得分:2)

ListView&amp; GridView支持重新排序项目。如何考虑使用它们?

首先,您可以将CanDragItems CanReorderItems AllowDrop设置为false来禁用此功能,当您在ListView中保留该项时,然后将上面的属性设置为true,这将启用重新排序功能。