2014-11-05 13 views
0

我需要知道ListView何时退出重新排序模式。当我长按列表视图时,我启用了ReorderMode。重新排序完成后,我按下硬件后退按钮,列表视图出现重新排序模式。有什么办法来检查捕获?捕获ListView的重新排序模式 - WP8.1

我试过数据绑定ReorderMode属性。但它不捕获ReOrderMode禁用状态。

XAML

 <ListView x:Name="FolderListView" ItemsSource="{Binding}" 
           SelectionMode="None" 
           IsTapEnabled="True" 
           Tapped="ListItemTapped" AllowDrop="True" CanDragItems="True"    
           IsSwipeEnabled="True" Holding="OnItemHold" 
           ReorderMode="{Binding ReorderMode, Mode=TwoWay}"> 

代码隐藏

private void OnItemHold(object sender, HoldingRoutedEventArgs e)//Long Press on ListView 
    { 
     FolderListView.ReorderMode = ListViewReorderMode.Enabled; 
     ReorderModeChanged(); 
    }   

    public ListViewReorderMode ReorderMode 
    { 
     get 
     { 
      return _reorderMode; 
     } 
     set 
     { 
      if (_reorderMode != value) 
      { 
       _reorderMode = value; 
       OnPropertyChanged("ReorderMode"); 
       this.ReorderModeChanged(); 
      } 
     } 
    } 

    private void ReorderModeChanged() 
    { 
     DBManager dbMan = DBManager.Instance; 

     if (this.ReorderMode == ListViewReorderMode.Enabled) 
     { 
      dbMan.IsReorderEnabled = true; 
     } 
     else 
     { 
      dbMan.IsReorderEnabled = false; 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    protected virtual void OnPropertyChanged(string propertyName) 
    { 
     if (this.PropertyChanged != null) 
     { 
      this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

任何想法/变通?

回答

0

我认为你的ListView有错误的DataContext。你将一些集合绑定到ListView,但是这个集合没有ReorderMode属性。您可以在调试应用程序时在输出窗口中查找绑定错误。