【问题标题】:UWP MapControl MenuFlyout won't showUWP MapControl MenuFlyout 不会显示
【发布时间】:2017-06-14 04:35:30
【问题描述】:

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

我在这里做错了什么?

【问题讨论】:

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


    【解决方案1】:

    当我尝试运行您的示例时,它甚至无法编译。我收到此错误消息,指向 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 才能运行它。

    【讨论】:

    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2020-08-31
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多