2014-02-05 2 views
0

두 번 탭 이벤트를 사용할 때 ListViews ItemSource - ObservableCollection에로드되는 항목이 적을 때 치명적인 오류가 발생합니다. 이제는 이것에 대한 아주 간단한 예를 썼는데, 나는 여전히 같은 오류를 얻습니다.XAML - ListView DoubleTapped Catastrophic failure

이것은 Windows 8.1 Store Application입니다.

간단한 예제 : 목록보기에 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 이벤트에서만 발생합니다.

+0

'DoubleTapped' 이벤트 발발 횟수는 몇 번입니까? 어떤 사람들은 두 번 이상 발사하는 데 문제가 있다는 것을 알고 있습니다. 'ItemsSource'가 한 번만 설정되도록해야 할 수도 있습니다. 더구나, 'ObservableCollection' (이 경우' ')을 사용하고 직접 조작 할 때마다 매번 새로운 아이템으로'ItemsSource'를 설정하는 것이 더 쉽습니다. –

+0

한 번만 발사됩니다. 내 원래 코드, ObservableCollection 사용하고 있습니다. 하지만 상당히 큰 프로젝트이므로 가능한 모든 문제를 제거하기 위해 가능한 한 가장 작은 버전으로 복제하려고했습니다. 그리고 나는 여전히 문제가 있습니다. – Edwin

+0

수정 사항을 찾으셨습니까? 나는 정확히 같은 문제가있다. – Oli

답변

0

나는 애플 리케이션에서 비슷한 것을 얻고 있기 때문에, 문제가 새로운 값으로 움직이게함으로써 야기되었다는 것을 확신한다.

내 코드에는 더 이상 요소를 추가하기 전에 코드를 비활성화하기 때문에 문제가 해결되었습니다.