这是我在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
任何想法我做错了什么?
答案 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
我终于采用了这个解决方案,因为它不需要我更改库代码上的任何内容: