Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用XAML岛的UWP WPF应用程序中的UWP地图控制_C#_Wpf_Xaml_Uwp_Xaml Islands - Fatal编程技术网

C# 使用XAML岛的UWP WPF应用程序中的UWP地图控制

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

我在WPF核心应用程序中包含了一个MapControl。我可以正确显示地图,但问题是当我尝试将任何其他界面元素放置在地图顶部时。我尝试了很多方法,但地图总是覆盖我放置在上面的任何其他元素,因此不会显示。例如:

<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元素的顶部