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

时间:2016-10-23 17:02:25

标签: c# wpf avalondock

这是我在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>

...

运行应用程序时,它会显示一个漂亮的窗口,右侧有一个空的“属性”面板。我可以取消它,它会隐藏。一切都好又容易。但是,当我尝试取消隐藏面板时,我的应用程序进入休息模式......

我使用具有C#6语言功能的VisualStudio 2015社区和.NET 4.5.2,WPF扩展工具包2.9

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

调试WPF扩展工具包后,我找到了导致问题的地方。现在,配备了正确的问题,我能够让Google回答我的问题。

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

https://stackoverflow.com/a/37905416/558239

<强> 修改

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

我到目前为止找到的唯一解决方案是在WPF扩展工具包源代码中注释掉原因代码:

上课: Xceed.Wpf.AvalonDock.Controls.LayoutAutoHideWindowControl

评论方法

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

可以在第120行附近找到。

到目前为止,我看不到副作用,但我只是在Windows 10上玩了一下......

编辑II

我终于采用了这个解决方案,因为它不需要我更改库代码上的任何内容:

https://stackoverflow.com/a/39923081/558239