2013-12-15 98 views
3

我想確定當前在ListPicker中選擇的項目的名稱。我不確定在SelectionChanged事件中要做什麼來獲取該項目的名稱。如何獲取ListPicker的選定項目

XAML

<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

可能是這樣的。

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; 
      } 
     } 
相關問題