代码之家  ›  专栏  ›  技术社区  ›  Torben Schramme

.net WP8.1/Win10 UWP:在Visual Studio Designer中找不到MapControl的命名空间

  •  15
  • Torben Schramme  · 技术社区  · 9 年前

    编辑:使用MapControl时,Win 10 UWP应用程序(VS2015,Win10)也会出现以下问题。

    我在Windows Phone 8.1(通用应用程序)应用程序中使用MapControl时遇到了一个奇怪的问题。在将控件添加到页面后,Visual Studio表示 The name "MapControl" does not exist in the namespace "using:Windows.UI.Xaml.Controls.Maps". 构建应用程序是可行的,我可以将其部署到手机上,地图显示出来,一切都很好-但我不能再使用设计器来处理此页面,因为它声称存在错误。

    问题发生在一个更大的项目中,该项目最初是在Windows 8.1上的VS2013(更新4)中启动的。我的第一个想法是,我的VS安装有点损坏。但在全新安装Windows 10(10240)和VS2015 RTM之后,问题也出现了。我的复制步骤非常简单:

    • 从模板“空白应用程序(通用Windows 8.1)”创建新项目
    • 打开 MainPage.xaml WindowsPhone 分部工程
    • 双击 MapControl 在工具箱中
    • 注意 地图控件 已添加到 Grid 在xaml中,它以并排设计视图显示。一切似乎都很好。
    • 现在,只需单击工具箱,就可以向页面添加更多控件。我可以在设计器中使用鼠标修改页面上的控件(例如重新排列),并且可以通过属性窗格更改其属性。一切都还不错。
    • 但是,当我在设计器中关闭并重新打开该页面(或整个项目)时,或者当我开始直接用键盘编辑xaml时,设计器会失败并声明上述错误。

    这里有什么问题?如何使Visual Studio设计器使用 地图控件 又是什么?首先,我想到了VS2013中的一个bug,但它很容易复制,在VS2015中没有修复,并且在互联网上没有关于它的信息?我做错了什么?

    Design view and xaml is broken after editing (but compilation and deploying works)

    3 回复  |  直到 9 年前
        1
  •  1
  •   Community CDub    4 年前

    Visual Studio Tools for Universal Windows Apps 1.0上存在导致地图出现此问题的错误,安装此更新应该可以解决此问题 Update

    正确使用地图sdk的步骤

    Windows 8.1

    1. 转到工具->扩展和更新->安装Bing Map SDK。
    2. 右键单击项目->添加引用->Windows->扩展->Bing地图
    3. 将配置设置为x86(配置属性->配置)
    4. 使用将地图引用添加到页面 xmlns:maps="using:Bing.Maps"
    5. 将此行添加到xaml <maps:Map />

    现在你可以走了

    Windows Phone和Windows 10 UAP

    在xaml中添加此引用

    xmlns:maps="using:Windows.UI.Xaml.Controls.Maps"
    

    然后将这行添加到xaml

    <maps:MapControl />
    
        3
  •  -1
  •   Rehan Parvez    9 年前

    制作正确的地图库参考

    xmlns:Maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
    

    而不是

    xmlns:Maps="using:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"