如何从View中通过DataContext获取一个Tapped项目

时间:2014-02-21 19:05:49

标签: c# windows-phone-7 windows-phone-8 datacontext listpicker

对我来说这是一个有趣的问题,我的视图中有一个ListPicker,但在StackPanel的{​​{1}}内使用了DataTemplate,所以我可以避免页面为NavigatedTo时调用ListPicker ListPicker事件的问题。通过此实现,我无法获取View中ListPicker中选择的项目。我需要获得在ListPicker中选择的项目的SelectionChanged(“浅”或“暗”)的小写版本。

MainPage.xaml中

name

MainPage.xaml.cs中

<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}"/>

1 个答案:

答案 0 :(得分:0)

StackPanel的DataContext是TestApp.Common.Theme。

所以,使用它应该有效

var selectedItem1 = (sender as StackPanel).DataContext as TestApp.Common.Theme;