avalon dock 自动隐藏崩溃应用程序

avalon dock auto hide crash application

这是我在 DockPanel 中的非常简单的布局:

...

<xcad:LayoutRoot x:Name="LayoutRoot">
    <xcad:LayoutPanel Orientation="Horizontal">
        <xcad:LayoutDocumentPaneGroup>
            <xcad:LayoutDocumentPane/>
        </xcad:LayoutDocumentPaneGroup>

        <xcad:LayoutAnchorablePaneGroup DockWidth="250">
            <xcad:LayoutAnchorablePane>
                <xcad:LayoutAnchorable Title="Properties">
                    <Grid>
                    </Grid>
                </xcad:LayoutAnchorable>
            </xcad:LayoutAnchorablePane>
        </xcad:LayoutAnchorablePaneGroup>

    </xcad:LayoutPanel>
</xcad:LayoutRoot>

...

当 运行 应用程序显示漂亮的 window 时,右侧有一个空的 "Properties" 面板。我可以取消固定它,它会隐藏起来。一切都很好,很容易。但是,当我尝试取消隐藏面板时,我的应用程序进入中断模式...

我使用具有 C#6 语言功能和 .NET 4.5.2、WPF Extended Toolkit 2.9 的 VisualStudio 2015 Community

知道我做错了什么吗?

调试WPF Extended Toolkit后,我找到了导致问题的地方。现在,有了正确的问题,我可以 Google 回答我的问题。

这个问题是重复的。可以在这里找到解决方案:

编辑

我发现应用此解决方案导致无法再终止应用程序,VS 中的调试器仍然 运行...

到目前为止我找到的唯一解决方案是注释掉 WPF Extended Toolkit 源代码中的导致代码:

Class: Xceed.Wpf.AvalonDock.Controls.LayoutAutoHideWindowControl

注释掉方法

protected override IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)

可以在第 120 行附近找到。

到目前为止,我看不到副作用,但我只是在 Windows 10...

上玩了一下

编辑二

我最终采用了这个解决方案,因为它不需要我对库代码进行任何更改: