我正在尝试将应用程序中的AvalonDock从1.3升级到2.0,但是几乎没有关于此的文档。
我看一下简单,通过这样做导入它
xmlns:avalonDock="http://avalondock.codeplex.com"
然而这不起作用。
Error The tag 'DockingManager' does not exist in XML namespace 'http://avalondock.codeplex.com'. Line 41 Position 10.
我也用旧方式尝试过。
xmlns:avalonDock="clr-namespace:AvalonDock;assembly=AvalonDock"
这两项都不起作用
Error The tag 'ResizingPanel' does not exist in XML namespace 'clr-namespace:AvalonDock;assembly=AvalonDock'. Line 71 Position 22.
如果他们重命名了控件,那么在2.0中存在一个控件列表会很有用。
我尝试编译简单的代码,但没有成功。
答案 0 :(得分:37)
我通过替换
解决了这个问题 xmlns:avalonDock="http://avalondock.codeplex.com"
通过
xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
答案 1 :(得分:7)
目前唯一可用的文档是可以从codeplex下载的AvalonDock示例。 http://avalondock.codeplex.com/releases
除此之外,intellisense是一个有用的指南。
=============================================== =============
您在“DockingManager”中看到的错误具有误导性,因为它仍然存在于2.0中。以下内容可以帮助您摆脱这些。此外,一旦解决了智能感知,它就会开始工作。
从互联网下载的文件发生了不好的事情。他们有一个属性,导致访问受限。您必须手动删除此属性才能使XAML停止使用。
在Windows资源管理器中,右键单击该文件,选择属性,然后单击“取消阻止”按钮。对从Internet上下载的每个文件执行此操作。请务必重建项目以替换bin文件夹中的被阻止副本。
作为旁注,我仍然可以在出现问题时运行项目。只有XAML编辑器认为存在问题。
=============================================== =============
在2.0中,所有内容都嵌套在布局控件中。您的所有窗格都是可锚定的或文档样式。这是一个让你前进的简单例子。
定义名称空间
xmlns:ad="http://avalondock.codeplex.com"
构建DockingManager
<ad:DockingManager x:Name="dockManager">
<ad:LayoutRoot>
<ad:LayoutPanel Orientation="Horizontal">
<ad:LayoutPanel Orientation="Vertical">
<ad:LayoutPanel Orientation="Horizontal">
<ad:LayoutDocumentPaneGroup x:Name="leftDocumentGroup">
<ad:LayoutDocumentPane>
<ad:LayoutDocument Title="Left Doc"></ad:LayoutDocument>
</ad:LayoutDocumentPane>
</ad:LayoutDocumentPaneGroup>
<ad:LayoutDocumentPaneGroup x:Name="rightDocumentGroup">
<ad:LayoutDocumentPane>
<ad:LayoutDocument Title="Right Doc"></ad:LayoutDocument>
</ad:LayoutDocumentPane>
</ad:LayoutDocumentPaneGroup>
</ad:LayoutPanel>
<ad:LayoutAnchorablePaneGroup x:Name="bottomAnchorableGroup">
<ad:LayoutAnchorablePane>
<ad:LayoutAnchorable Title="Bottom Anch"></ad:LayoutAnchorable>
</ad:LayoutAnchorablePane>
</ad:LayoutAnchorablePaneGroup>
</ad:LayoutPanel>
<ad:LayoutAnchorablePaneGroup x:Name="rightAnchorableGroup">
<ad:LayoutAnchorablePane>
<ad:LayoutAnchorable Title="Right Anch"></ad:LayoutAnchorable>
</ad:LayoutAnchorablePane>
</ad:LayoutAnchorablePaneGroup>
</ad:LayoutPanel>
</ad:LayoutRoot>
</ad:DockingManager>
答案 2 :(得分:3)
您可以使用以下命令添加对最新AvalonDock版本的引用。因此,您必须在Visual Studio上的程序包管理器控制台上输入此命令
Install-Package AvalonDock
您可以在工具菜单中找到此窗口,选择图书馆程序包管理器,然后点击程序包管理器控制台。 (More details)
然后它会自动添加对项目的所有引用!!!
同时替换此行
xmlns:avalonDock="http://avalondock.codeplex.com"
通过
xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
如Paul Gillen所述
答案 3 :(得分:1)
当我第一次切换到AvalonDock 2.0时,我收到了类似的错误消息。这可能是一个很长的镜头,但你有网络驱动器上的AvalonDock.dll吗?我发现,一旦我将DLL移动到我的项目目录,我就不再有这个问题了。
.NET assembly runs in partial trust on a network drive, but all other in full trust
(我会将此答案添加为评论,但我没有代表添加评论。)
答案 4 :(得分:1)
您需要将命名空间定义为xmlns:avalonDock =“http://schemas.xceed.com/wpf/xaml/avalondock”
您还需要确保将项目配置为使用.NET 4或更高版本。
答案 5 :(得分:0)
在我的情况下,我有两个问题,首先是文件被阻止,必须通过从文件资源管理器中解锁来解决它。
其次我必须更改对新地址的引用。更改AvalodDock Documentation
上列出的以下链接xmlns:avalonDock="http://avalondock.codeplex.com"
到新链接
xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
这也出现在Intellisense中
我正在跑步。
AvalonDock版本:2.0.2000.0
.NET Framework 4.6.1