2013-12-15 2 views
3

ListPicker에서 현재 선택된 항목의 이름을 확인하고 싶습니다. 항목의 이름을 가져 오려면 SelectionChanged 이벤트에서 무엇을해야할지 모르겠습니다.ListPicker의 선택된 항목을 가져 오는 방법

<Grid.Resources> 
     <DataTemplate x:Name="PickerItemTemplate"> 
      <TextBlock Text="{Binding Name}"/> 
     </DataTemplate> 
    </Grid.Resources> 

<toolkit:ListPicker x:Name="ThemeListPicker" Header="{Binding Path=LocalizedResources.SettingsPage_ThemeListPicker_Header, Source={StaticResource LocalizedStrings}}" 
             ItemTemplate="{StaticResource PickerItemTemplate}" 
             SelectionChanged="ThemeListPicker_SelectionChanged"/> 

XAML.CS

protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 

     themeList = new List<Theme>(); 
     themeList.Add(new Theme() { Name = "light" }); 
     themeList.Add(new Theme() { Name = "dark" }); 
     ThemeListPicker.ItemsSource = themeList; 
    } 

private void ThemeListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     //get the name of the current item in the listpicker? 
    } 

답변

6
var item = (sender as ListPicker).SelectedItem; 
3

XAML은 다음과 같이 할 수 있습니다.

다음
Theme selectedObj = ThemeListPicker.SelectedItem as Theme; 
3

이 도움이 당신을 수 MA 솔루션입니다.

private void ThemeListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
      //get the name of the current item in the listpicker? 
      string currentItemName =string.Empty; 
      Theme theme= (sender as ListPicker).SelectedItem as Theme; 
      if(theme!=null) 
      { 
      currentItemName = item.Name; 
      } 
     } 
관련 문제