2015-01-21 38 views
0

我有一個ListViewListView控件重新排序刪除後退按鈕行爲

<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的重新排序模式似乎是「Disabled」。任何想法爲什麼發生這種情況?

回答

1

它沒有取消後退按鈕的行爲 - ListView的重新排序模式是這樣設計的,當你點擊後退按鈕時,ListView離開重排模式。

我認爲問題是,你有ReorderMode = ListViewReorderMode.Enabled啓動的ListView - 所以第一次,當你點擊後退按鈕離開重新排序模式,接下來的後退按鈕按工作normaly。

的解決方案可能是能夠在某些情況下,重新排序模式 - 例如,當用戶持有的您的ListView:

private void List_Hold(object sender, HoldingRoutedEventArgs e) 
{ 
    (sender as ListView).ReorderMode = ListViewReorderMode.Enabled; 
} 

類似的情況下,你將不得不與MessageDialog - 您展示後,後退按鈕會關閉它,你的後退鍵事件不會被解僱。

+0

非常感謝你的配合。你節省了我的時間 – FetFrumos 2016-11-21 16:20:29