我有一个listview
<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上获得点击时,listview的重新排序模式似乎是&#34;已禁用&#34;。关于为什么会发生这种情况的任何想法?
答案 0 :(得分:1)
它不会删除后退按钮行为 - ListView的重新排序模式是以这样的方式设计的,当你点击后退按钮时, ListView 会离开重新排序模式。
我认为问题是您使用ReorderMode = ListViewReorderMode.Enabled
启动 ListView - 所以第一次,当您点击后退按钮时,它会退出重新排序模式,下一个后退按钮按下工作normaly。
解决方案可能是在某些情况下启用重新排序模式 - 例如当用户持有ListView时:
private void List_Hold(object sender, HoldingRoutedEventArgs e)
{
(sender as ListView).ReorderMode = ListViewReorderMode.Enabled;
}
与 MessageDialog 相似的情况 - 在您显示之后,后退按钮将关闭它,并且不会触发您的后退键事件。