WPF表单“在命名空间中不存在”错误...但确实如此! (使用GreatMaps)

时间:2015-02-13 06:26:15

标签: wpf windows xaml maps presentation

我有一个项目,我正在尝试使用自定义控件。我创建了一个用于它的类,在类中它需要.DLL。这是班级:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GMap.NET.WindowsPresentation;

namespace HackathonBaseWPF
{
    class MapControl : GMapControl
    {
    }
}

并且在我的MainWindow.xaml中我将它用作组件之一,但它一直说MapControl在命名空间中不存在,即使它在我为mapControl对象输入时自动完成了MapControl。

<Controls:MetroWindow x:Class="HackathonBaseWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        Title="Base" 
        Height="895" 
        Width="1145"
        xmlns:src="clr-namespace:HackathonBaseWPF">
    <Grid Name="grid" Loaded="Grid_Loaded">

        <GroupBox Name="mapgroup"  Header="gmap" Margin="12,7,241,12" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
            <src:MapControl x:Name="mapControl" />
        </GroupBox>

    </Grid>
</Controls:MetroWindow>

有什么想法吗?我查看了与此类似的所有论坛帖子,但没有多少人使用自定义控件与类(不是.dll)。也许有办法绕过这个并且只使用.dll(我试图整合GreatMaps,如果有帮助的话)

1 个答案:

答案 0 :(得分:0)

您已使用“Controls”作为命名空间名称来导入Mapcontrol。

xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

但你使用“src”来使用MapControl。

  <GroupBox Name="mapgroup"  Header="gmap" Margin="12,7,241,12" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">                      
<src:MapControl x:Name="mapControl" />
</GroupBox>

这样的代码
<GroupBox Name="mapgroup"  Header="gmap" Margin="12,7,241,12" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
        <Controls:MapControl x:Name="mapControl" />
    </GroupBox>