列表视图类控件,如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;
}
05-25 21:11