菜单浮出控件项获取父项
本文关键字:获取 控件 菜单 | 更新日期: 2024-10-29 18:48:24
我有一个附加到列表视图项的浮出控件,简化如下:
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel IsHoldingEnabled="True" Holding="ListView_Holding" >
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="remove" Click="MenuFlyoutItem_Click" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
private void ListView_Holding(object sender, HoldingRoutedEventArgs e)
{
FrameworkElement senderElement = sender as FrameworkElement;
FlyoutBase flyoutBase = FlyoutBase.GetAttachedFlyout(senderElement);
flyoutBase.ShowAt(senderElement);
}
private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
{
}
如何从菜单浮出控件"附加"到的MenuFlyoutItem_Click
中获取列表视图项?我已经尝试了一些方法,但无法使其工作。
如果需要,我可以发布更多代码。
您可以通过获取 DataContext 来获取确切的项目。这将是要绑定到的集合中的对象。
var datacontext = senderElement.DataContext;
然后,您可以从该 DataContext 获取 ListViewItem。
ListViewItem item = this.NameOfYourList.ContainerFromItem(datacontext) as ListViewItem;