【发布时间】:2014-02-21 19:05:49
【问题描述】:
这对我来说是一个有趣的问题,我认为我有一个ListPicker,但是在ListPicker 的DataTemplate 中使用了StackPanel,所以我可以避免ListPicker @ 的问题987654326@ 页面为 NavigatedTo 时调用的事件。使用此实现,我无法获取在视图的 ListPicker 中选择的项目。我需要获取在 ListPicker 中选择的项目的小写版本 name(“浅色”或“深色”)。
MainPage.xaml
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Name="PickerItemTemplate">
<StackPanel tap="stk_Tap">
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
<toolkit:ListPicker x:Name="ThemeListPicker" Header="Theme"
ItemTemplate="{StaticResource PickerItemTemplate}"/>
MainPage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
themeList = new List<TestApp.Common.Theme>();
themeList.Add(new TestApp.Common.Theme() { Name = "Darker", name = "dark" });
themeList.Add(new TestApp.Common.Theme() { Name = "Lighter", name = "light" });
ThemeListPicker.ItemsSource = themeList;
}
private void stk_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
if (ThemeListPicker.SelectedIndex != -1)
{
//Need to get the current ThemeListPicker's 'name'
var selectedItem1 = (sender as StackPanel).DataContext as ListPicker;
//use selectedItem1
}
}
【问题讨论】:
标签: c# windows-phone-7 windows-phone-8 datacontext listpicker