Xaml WP8 toolkit上下文菜单项未选中,处于保留状态
我的ContextMenu有点问题,有时单击ContextMenu时长列表中的项目没有被选中,这给了我一个问题,我不知道用户单击了什么项目。如果我先单击该项,然后按住关联菜单,它是否工作,但我如何使每次用户单击并按住时都工作 这是我的xamlXaml WP8 toolkit上下文菜单项未选中,处于保留状态,xaml,windows-phone-8,windows-phone-toolkit,Xaml,Windows Phone 8,Windows Phone Toolkit,我的ContextMenu有点问题,有时单击ContextMenu时长列表中的项目没有被选中,这给了我一个问题,我不知道用户单击了什么项目。如果我先单击该项,然后按住关联菜单,它是否工作,但我如何使每次用户单击并按住时都工作 这是我的xaml <phone:LongListSelector x:Name="List" Margin="0,0,-12,0" ItemsSource="{Bindi
<phone:LongListSelector x:Name="List"
Margin="0,0,-12,0"
ItemsSource="{Binding ListItems}"
Height="470" Tap="List_OnTap">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17">
<TextBlock Text="{Binding Name}"
TextWrapping="Wrap"
Style="{StaticResource PhoneTextExtraLargeStyle}">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu IsZoomEnabled="false">
<toolkit:MenuItem Header="Add as favorit"
Click="AddFavorite" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</TextBlock>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
您可以从上下文菜单本身获取该项。菜单将其DataContext设置为要绑定到的元素。只需获取DataContext,您就可以离开了
private void AddFavorite(object sender, RoutedEventArgs e)
{
var element = (FrameworkElement)sender;
ItemViewModel obj = element.DataContext as ItemViewModel;
if (obj == null) return;
NavigationService.Navigate(new Uri("/Page.xaml?id=" + obj.Id + "&fav=true", UriKind.Relative));
}
private void AddFavorite(object sender, RoutedEventArgs e)
{
var element = (FrameworkElement)sender;
ItemViewModel obj = element.DataContext as ItemViewModel;
if (obj == null) return;
NavigationService.Navigate(new Uri("/Page.xaml?id=" + obj.Id + "&fav=true", UriKind.Relative));
}