ListView 重新排序删除后退按钮行为
ListView reorder removes back button behavior
我有一个列表视图
<ListView x:Name="TasksListView" Margin="24,10,0,0" Grid.Row="3" Padding="0,0,12,0"
ItemsSource="{Binding Tasks}" ReorderMode="Enabled" IsItemClickEnabled="True"
ItemContainerStyle="{StaticResource TaskItemStyle}"
IsEnabled="{Binding IsLoading, Converter={StaticResource InverseBooleanConverter}}"/>
当我重新排序项目时,后退按钮导航在第一次点击时失败。它适用于第二次点击。当我点击 HardwareButtons_BackPressed 时,列表视图的重新排序模式似乎是 "Disabled"。关于为什么会发生这种情况的任何想法?
它不会删除后退按钮行为 - ListView 的重新排序模式的设计方式是,当您点击后退按钮时,ListView 离开重新排序模式。
我认为问题是您使用 ReorderMode = ListViewReorderMode.Enabled
启动 ListView - 所以第一次,当您点击后退按钮时,它会离开重新排序模式,并且下一个后退按钮按正常工作。
解决方案可能是在某些情况下启用重新排序模式 - 例如当用户持有您的 ListView 时:
private void List_Hold(object sender, HoldingRoutedEventArgs e)
{
(sender as ListView).ReorderMode = ListViewReorderMode.Enabled;
}
与 MessageDialog 类似的情况 - 在您显示它之后,后退按钮将关闭它并且您的后退键事件不会被触发。
我有一个列表视图
<ListView x:Name="TasksListView" Margin="24,10,0,0" Grid.Row="3" Padding="0,0,12,0"
ItemsSource="{Binding Tasks}" ReorderMode="Enabled" IsItemClickEnabled="True"
ItemContainerStyle="{StaticResource TaskItemStyle}"
IsEnabled="{Binding IsLoading, Converter={StaticResource InverseBooleanConverter}}"/>
当我重新排序项目时,后退按钮导航在第一次点击时失败。它适用于第二次点击。当我点击 HardwareButtons_BackPressed 时,列表视图的重新排序模式似乎是 "Disabled"。关于为什么会发生这种情况的任何想法?
它不会删除后退按钮行为 - ListView 的重新排序模式的设计方式是,当您点击后退按钮时,ListView 离开重新排序模式。
我认为问题是您使用 ReorderMode = ListViewReorderMode.Enabled
启动 ListView - 所以第一次,当您点击后退按钮时,它会离开重新排序模式,并且下一个后退按钮按正常工作。
解决方案可能是在某些情况下启用重新排序模式 - 例如当用户持有您的 ListView 时:
private void List_Hold(object sender, HoldingRoutedEventArgs e)
{
(sender as ListView).ReorderMode = ListViewReorderMode.Enabled;
}
与 MessageDialog 类似的情况 - 在您显示它之后,后退按钮将关闭它并且您的后退键事件不会被触发。