鼠标光标处的 UWP 位置浮出控件

UWP position flyout at mouse cursor

我有一个网格,里面有很多文本块,还有一个带有各种选项的弹出窗口。

<FlyoutBase.AttachedFlyout>
    <MenuFlyout>
        <MenuFlyoutItem x:Name="EditButton" Text="Edit" Click="EditButton_Click"/>
        <MenuFlyoutItem x:Name="DeleteButton" Text="Delete"/>
    </MenuFlyout>
</FlyoutBase.AttachedFlyout>

问题是弹出窗口将出现在网格中间某处的同一固定位置,或者我可以通过编程方式将其设置为出现在某个元素处。我希望它出现在鼠标被右键单击的任何地方。这可能吗,还是我做错了?

我不知道你是如何显示 Flyout,但在我的应用程序中,我使用 ListViewRightTapped 事件和 [=12] 中的以下代码=] 事件处理程序来实现你想要的相同的东西。

private void MyListView_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
    var tappedItem     = (UIElement)e.OriginalSource;
    var attachedFlyout = (MenuFlyout)FlyoutBase.GetAttachedFlyout(MyListView);

    attachedFlyout.ShowAt(tappedItem, e.GetPosition(tappedItem));
}