1

Windows Phone Toolkit의 LongListMultiSelector에서 동적으로 코드 숨김으로 항목을 선택하는 방법. SelectedItems 속성에는 setter가 없습니다.Windows phone 8 LongListMultiSelector 동적으로 항목 선택

내 코드 : 항목이 아직 UI에 생성되지 않기 때문에

private async void GetGenres() 
    { 
     var genres = await App.MusClient.GetGenresAsync(); 

     var preferencedGenresIdsList = App.GetFromIsoStorage<List<string>>(App.GENRES_IDS_KEY_STRING); 

     GenresListBox.ItemsSource = genres; 




     foreach (var item in GenresListBox.ItemsSource) 
     { 
      if (preferencedGenresIdsList.Contains(((Genre)item).Id)) 
      { 
       LongListMultiSelectorItem container = GenresListBox.ContainerFromItem(item) as LongListMultiSelectorItem; 
       if (container != null) 
       { 
        container.IsSelected = true; 
       } 
      } 
     } 




     if (genres.Result == null || genres.Count == 0) 
     { 
      MessageBox.Show("No results available"); 
     } 

    } 

답변

1

은 내가 찾은 솔루션

private async void GetGenres() 
    { 
     var genres = await App.MusClient.GetGenresAsync(); 

     var preferencedGenresIdsList = App.GetFromIsoStorage<List<string>>(App.GENRES_IDS_KEY_STRING); 

     GenresListBox.ItemsSource = genres; 




     foreach (var item in GenresListBox.ItemsSource) 
     { 
      if (preferencedGenresIdsList.Contains(((Genre)item).Id)) 
      { 
       GenresListBox.ScrollTo(item); 
       LongListMultiSelectorItem container = GenresListBox.ContainerFromItem(item) as LongListMultiSelectorItem; 
       if (container != null) 
       { 
        container.IsSelected = true; 
       } 
      } 
     } 
     GenresListBox.ScrollTo(GenresListBox.ItemsSource[0]); 



     if (genres.Result == null || genres.Count == 0) 
     { 
      MessageBox.Show("No results available"); 
     } 

    } 

이유가 작동하지 않았다이다. GenresListBox.ScrollTo (item); - UI를 사용하여 요소를 만듭니다!