uwp,右键浮出获取DataContext(数据上下文)

列表视图类控件,如ListView/GridView,有时项目需要按下右键浮出选项,来获取Item的DataContext。

下面的示例代码,事先我已经有了一个自定义类Video,并且已经绑定了数据源。

xaml:

<ListView.ItemTemplate>
    <DataTemplate x:DataType="modles:Video">
       <Grid x:Name="temporaryContent_gird" RightTapped="temporaryContent_gird_RightTapped">
          <TextBlock TextWrapping="WrapWholeWords" TextTrimming="CharacterEllipsis"      Text="{x:Bind Video_Title}"/>
             <Grid.ContextFlyout>
                 <MenuFlyout>
                     <MenuFlyoutItem x:Name="removeTemporary_item" Text="Remove" Click="removeTemporary_item_Click"/>
                 </MenuFlyout>
             </Grid.ContextFlyout>
    </DataTemplate>
</ListView.ItemTemplate>

后台代码:

鼠标右键点击事件

using Windows.UI.Xaml;

private FrameworkElement sender_value;

 private void temporaryContent_gird_RightTapped(object sender, RightTappedRoutedEventArgs e)
        {
            sender_value = (FrameworkElement)sender;
        }

按下浮出选项:

private void removeTemporary_item_Click(object sender, RoutedEventArgs e)
        {
            var delete_temporaryVideo = sender_value.DataContext as Video;
        }
原文地址:https://www.cnblogs.com/singhwong/p/11918444.html