C# 关闭文档时导致崩溃的AvalonDock

C# 关闭文档时导致崩溃的AvalonDock,c#,wpf,avalondock,C#,Wpf,Avalondock,我现在面临一个非常奇怪的问题。我正在Caliburn.Micro的WPF应用程序上使用AvalonDock(嵌入最后一个WPF扩展工具包3) 在myMainView.xml中,我有一个DockingManager: <xcad:DockingManager x:Name="dockMngr" Grid.Row="1" AllowMixedOrientation="True"

我现在面临一个非常奇怪的问题。我正在Caliburn.Micro的WPF应用程序上使用AvalonDock(嵌入最后一个WPF扩展工具包3)

在myMainView.xml中,我有一个DockingManager:

<xcad:DockingManager x:Name="dockMngr"
                     Grid.Row="1"
                     AllowMixedOrientation="True"
                     DataContext="{Binding DockingManagerVM}"
                     DocumentsSource="{Binding Documents}"
                     AnchorablesSource="{Binding Anchorables}"
                     ActiveContent="{Binding CurrentDocument, Mode=TwoWay}"
                     cal:Message.Attach="[Event DocumentClosed] = [Action DocumentClosed($eventArgs)];
                                         [Event DocumentClosing] = [Action DocumentClosing($eventArgs)]">
不幸的是,VisualStudio没有提供任何细节(如果您知道如何获得它们,那就太好了)

以下是我试图重现(或不重现)问题的步骤:

运行应用程序;共有3个文档,第一个处于活动状态并显示,然后:

  • 我通过单击选项卡控件上的“X”关闭第二个或第三个文档;应用程序崩溃
  • 我打开第二个文档(没有关闭第一个文档);然后我可以同时关闭第一个和第二个文档,但是如果我试图关闭最后一个文档(因为我没有打开它),应用程序就会崩溃
  • 我关闭第一个文档,然后第二个文档被标记为活动并显示。我关闭此当前文档,将显示第三个文档,我可以关闭此文档无碰撞
  • 我通过点击选项卡菜单打开所有文档,一个接一个;然后我可以按任何顺序关闭每个文档,而不会崩溃
  • 我右键单击选项卡控件并单击“关闭所有文档”(此功能由AvalonDock提供):所有文档关闭,无任何崩溃
  • 您能告诉我您是否注意到我正在做的事情中出现了错误,或者是否有任何方法可以调试AvalonDock以了解发生了什么


    多谢各位

    我终于找到了解决办法!这似乎是一个与AvalonDock 3.0.0(随Extended.WPF.Toolkit 3.0.0提供)相关的bug

    我从NuGet manager安装了Xceed.Wpf.AvalonDock(版本3.2.16567.21060),修复了这个问题

    在那之后,由于我导入了一个,NuGet自动切换到Xceed.Wpf.Avalondock 2.9.15603.14400,它也可以正常工作。:)

    Documents = new ObservableCollection<GenericDocumentViewModel>();
    Documents.Add(new MyDocumentViewModel());
    Documents.Add(new MyDocumentViewModel());
    Documents.Add(new MyDocumentViewModel());
    CurrentDocument = _documents[0];
    
    <xcad:DockingManager.Resources>
        <DataTemplate DataType="{x:Type vm:MyDocumentViewModel}" >
            <local:MyDocumentView />
        </DataTemplate>
    </xcad:DockingManager.Resources>
    
    An unhandled exception of type 'System.NullReferenceException' occurred in WindowsBase.dll
    
    Additional information: Object reference not set to an instance of an object.