UWP MapControl MenuFlyout 不会显示

UWP MapControl MenuFlyout won't show

我正在使用 UWP MapControl。

这个 XAML 的问题是,当我右键单击地图时,弹出菜单没有出现。

<Maps:MapControl Name="MapaElementov" HorizontalAlignment="Left" Margin="10,47,0,0" VerticalAlignment="Top" Height="663" Width="1260" MapServiceToken="some-code"
                      ZoomLevel="9" RotateInteractionMode="Disabled" TiltInteractionMode="Disabled">
        <Maps:MapControl.ContextFlyout>
            <MenuFlyout>

            </MenuFlyout>
        </Maps:MapControl.ContextFlyout>
    </Maps:MapControl>

我做错了什么?

当我尝试 运行 您的示例时,它甚至无法编译。我收到此错误消息,指向带有 ContextFlyout 的行:

The XAML Binary Format (XBF) generator reported syntax error '0x09c5'

也许 MapControl 不允许有 ContextFlyout?因此,或者,您可以使用此代码获得相同的结果:

<maps:MapControl Name="MapaElementov" HorizontalAlignment="Left" Margin="10,47,0,0" VerticalAlignment="Top" Height="663" Width="1260" MapServiceToken="some-code"
                 ZoomLevel="9" RotateInteractionMode="Disabled" TiltInteractionMode="Disabled" MapRightTapped="MapaElementov_MapRightTapped">

    <FlyoutBase.AttachedFlyout>
        <MenuFlyout x:Name="MapFlyout">
            <MenuFlyoutItem Text="Item 1"/>
            <MenuFlyoutItem Text="Item 2"/>
        </MenuFlyout>
    </FlyoutBase.AttachedFlyout>
</maps:MapControl>

...

private void MapaElementov_MapRightTapped(MapControl sender, MapRightTappedEventArgs args)
{
    MapFlyout.ShowAt(sender, new Point(args.Position.X, args.Position.Y));
}

如果你愿意,我想你也可以轻松地将其打包到你自己的附件中 属性。

编辑: 我无法编译您的示例,因为显然,周年更新中引入了 ContextFlyout,因此我必须将构建 14393 的最低版本和目标版本设置为 运行它。