gpt4 book ai didi

c# - 如何将 Bing map 组件添加到我的 C# Winforms 应用程序?

转载 作者:行者123 更新时间:2023-12-03 08:29:52 25 4
gpt4 key购买 nike

我已下载、安装并在我的 Winforms 应用程序中引用了 Bing map 控件:

enter image description here

...我在 Form1.cs 中添加了以下内容:

using Microsoft.Maps.MapControl;

...但我的工具箱中仍然没有 Bing map 控件。

我意识到这是一个 WPF 控件,并且我正在使用 Winforms,但我的理解是 WPF 控件可以在 Winforms 应用程序中使用。

我的问题是:如何使 Bing map 控件在工具箱中可见或在代码中创建 Bing map 控件?

这可能并不重要,但 map 控件的运行时版本是 4.0.30319,版本 = 1.0.0.0

最佳答案

WPF 控件不会添加到 Windows 窗体工具箱,而是需要在 Windows 窗体项目中创建一个 WPF UserControl 并向其添加 WPF 映射,然后将 ElementHost Windows 窗体控件的实例拖放到窗体上并告诉主机显示您的 WPF UserControl。

示例 - Windows 窗体中的 WPF Bing map 控件

  1. 创建 Windows 窗体应用程序。

  2. 安装 Microsoft.Maps.MapControl.WPF NuGet 包。

  3. 向您的项目添加新的WPF UserControl:

    右键单击项目 → 选择添加新项 → 添加新的用户控件 (WPF)(位于 WPF 类别下)

  4. 将 map 添加到您的 WPF 用户控件。基本上,您需要通过将以下属性添加到用户控件来将 map 程序集添加到控件:

    xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"

    并将 map 元素添加到控件中:

    <Grid>
    <m:Map/>
    </Grid>

    这是您的用户控件的完整代码。 (确保使用正确的命名空间):

    <UserControl x:Class="YOURNAMESPACE.UserControl1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF">
    <Grid>
    <m:Map CredentialsProvider="YOUR MAP KEY" x:Name="myMap" />
    </Grid>
    </UserControl >

    • 注意:您需要 Bing map key 。如果您没有 Bing map 帐户,create a Bing Maps account然后get a Bing Maps key从中。出于测试目的,您可以忽略 map 键。

  5. 构建您的项目。

  6. 将 ElementHost 控件的实例拖放到表单上。您可以在工具箱的 WPF 互操作性组下找到它。

  7. 从智能操作面板(位于 ElementHost 控件的右上角),将托管内容设置为 UserControl1 并将其停靠到父容器。

  8. 运行您的应用程序。

好了, map 将显示在您的 Windows 窗体应用程序中:

enter image description here

更多信息:

您可能需要查看以下链接以获取更多信息:

关于c# - 如何将 Bing map 组件添加到我的 C# Winforms 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65450109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com