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 的最低版本和目标版本设置为 运行它。
我正在使用 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 的最低版本和目标版本设置为 运行它。