0
當使用Double Tap事件時,當ListViews ItemSource - ObservableCollection被加載的項較少時,我得到災難性故障。現在寫一個非常簡單的例子,我仍然得到相同的錯誤。XAML - ListView DoubleTapped災難性故障
這是一個Windows 8.1商店應用程序。
簡單示例:如果我在列表視圖中有6個項目,並且我雙擊項目編號3,然後ListView重新綁定4個項目。這工作完美。
但是,如果我雙擊物品編號5或6,我會遇到災難性故障。
代碼:
<ListView x:Name="myListView" DoubleTapped="myListView_DoubleTapped" />
public MainPage()
{
this.InitializeComponent();
List<string> list1 = new List<string>();
list1.Add("item1");
list1.Add("item2");
list1.Add("item3");
list1.Add("item4");
list1.Add("item5");
list1.Add("item6");
myListView.ItemsSource = list1;
}
private void myListView_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
List<string> list2 = new List<string>();
list2.Add("OterhItem1");
list2.Add("OterhItem2");
list2.Add("OterhItem3");
list2.Add("OterhItem4");
myListView.ItemsSource = list2;
}
更新:我試過相同,但只用螺紋事件,並能正常工作。所以看起來這隻會發生在雙重事件中。
DoubleTapped事件觸發多少次?我知道有些人遇到過不止一次的問題。這可能是因爲你需要確保'ItemsSource'只被設置一次。此外,它可能更容易,而不是每次使用'ObservableCollection'(在這種情況下爲'')並直接操作'ItemsSource'到一個新對象。 –
它只發射一次。我的原始代碼,我使用ObservableCollection。但是,這是一個相當大的項目,爲了消除我所有可能出現的問題,我嘗試在儘可能最小的版本上覆制它。我仍然遇到問題。 – Edwin
您是否找到了解決方法?我有完全相同的問題 – Oli