UWP MapControl MenuFlyout не будет отображаться

Я использую 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 ответ

Решение

Когда я пытаюсь запустить ваш пример, он даже не компилируется. Я получаю это сообщение об ошибке, указывающее на строку с 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 был представлен в Anniversary Update, поэтому мне пришлось установить минимальную и целевую версию для сборки 14393, чтобы запустить его.

Другие вопросы по тегам