使用以下代码:
<ad:DockingManager x:Class="Main.AvalonDock.Views.AvalonDockView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ad="clr-namespace:AvalonDock;assembly=AvalonDock"
xmlns:cal="http://www.codeplex.com/prism"
mc:Ignorable="d"
d:DesignHeight="293" d:DesignWidth="504">
<ad:ResizingPanel Margin="0,10,0,10" Orientation="Horizontal" >
<ad:DockablePane cal:RegionManager.RegionName="MainLeftRegion" Name="leftDockablePane" />
<ad:DocumentPane cal:RegionManager.RegionName="MainCenterRegion" Name="mainDocumentPane" />
<ad:DockablePane cal:RegionManager.RegionName="MainRightRegion" Name="rightDockablePane" />
</ad:ResizingPanel>
</ad:DockingManager>
我的项目名称是Main.AvalonDock,它使用AvalonDock控件。由于广告命名空间和项目命名空间之间存在差异,因此无法编译。有解决方法吗?
发生错误:
类型或命名空间名称 'DockablePane'不存在于 命名空间 'Main.AvalonDock' (你错过了一个集会吗? 引用?)
答案 0 :(得分:2)
如果查看项目obj文件夹中的AvalonDockView.g.cs(或AvalongDockView.g.vb),您将看到潜在的问题。
基本上,你最终会得到类似的东西:
using Main.AvalonDock.Views {
internal AvalonDock.DockablePane leftDockablePane;
// ...
}
使用C#类型解析规范,AvalonDock解析为您的命名空间,而不是AvalonDock程序集中的命名空间。