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...
上玩了一下
编辑二
我最终采用了这个解决方案,因为它不需要我对库代码进行任何更改:
这是我在 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...
上玩了一下编辑二
我最终采用了这个解决方案,因为它不需要我对库代码进行任何更改: