将AvalonDock从1.3升级到2.0

时间:2012-08-09 10:51:18

标签: c# wpf avalondock

我正在尝试将应用程序中的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中存在一个控件列表会很有用。

我尝试编译简单的代码,但没有成功。

6 个答案:

答案 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)

在我的情况下,我有两个问题,首先是文件被阻止,必须通过从文件资源管理器中解锁来解决它。

enter image description here

其次我必须更改对新地址的引用。更改AvalodDock Documentation

上列出的以下链接
xmlns:avalonDock="http://avalondock.codeplex.com"

到新链接

xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"

这也出现在Intellisense中

enter image description here

我正在跑步。

AvalonDock版本:2.0.2000.0

.NET Framework 4.6.1