我有一个项目,我正在尝试使用自定义控件。我创建了一个用于它的类,在类中它需要.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,如果有帮助的话)
答案 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>