C# 使用XAML岛的UWP WPF应用程序中的UWP地图控制
我在WPF核心应用程序中包含了一个MapControl。我可以正确显示地图,但问题是当我尝试将任何其他界面元素放置在地图顶部时。我尝试了很多方法,但地图总是覆盖我放置在上面的任何其他元素,因此不会显示。例如:C# 使用XAML岛的UWP WPF应用程序中的UWP地图控制,c#,wpf,xaml,uwp,xaml-islands,C#,Wpf,Xaml,Uwp,Xaml Islands,我在WPF核心应用程序中包含了一个MapControl。我可以正确显示地图,但问题是当我尝试将任何其他界面元素放置在地图顶部时。我尝试了很多方法,但地图总是覆盖我放置在上面的任何其他元素,因此不会显示。例如: <Window x:Class="WpfMapControl.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns
<Window x:Class="WpfMapControl.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfMapControl"
xmlns:controls="clr-namespace:Microsoft.Toolkit.Wpf.UI.Controls;assembly=Microsoft.Toolkit.Wpf.UI.Controls"
mc:Ignorable="d"
Title="MainWindow" Height="400" Width="400">
<Grid>
<controls:MapControl Grid.Column="1"
x:Name="mapControl"/>
<Rectangle Width="100" Height="100" Fill="Red"></Rectangle>
</Grid>
这应该是这样的:
但结果是:
如何将任何其他元素放置在MapControl的顶部
如何将任何其他元素放置在MapControl的顶部
简单回答:你不能
就像WindowsFormsHost
中的Windows窗体控件一样,WindowsXamlHost
托管在单独的HWND中,该HWND始终绘制在WPF元素的顶部
从:
托管的Windows窗体控件在单独的HWND中绘制,因此它始终绘制在WPF元素的顶部