UWP在鼠标光标处的位置弹出

wol*_*001 2 c# flyout uwp

我有一个内部有大量文本块的网格和一个附加到网格的各种选项的弹出窗口.

<FlyoutBase.AttachedFlyout>
    <MenuFlyout>
        <MenuFlyoutItem x:Name="EditButton" Text="Edit" Click="EditButton_Click"/>
        <MenuFlyoutItem x:Name="DeleteButton" Text="Delete"/>
    </MenuFlyout>
</FlyoutBase.AttachedFlyout>
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ský 7

我不知道你是怎么展示的Flyout,但是在我的应用中,我在事件处理程序中使用RightTappedListView和以下代码的RightTapped事件来实现你想要的相同的事情.

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));
}
Run Code Online (Sandbox Code Playgroud)