UWP MapControl MenuFlyout将不会显示

时间:2017-01-28 16:06:12

标签: visual-studio xaml uwp uwp-xaml uwp-maps

我正在使用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>

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

当我尝试运行你的例子时,它甚至都没有编译。我收到指向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是在周年纪念更新中引入的,所以我必须设置min和目标版本来构建14393来运行它。