Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 拖动后窗格将消失_C#_Wpf_Telerik_Caliburn.micro - Fatal编程技术网

C# 拖动后窗格将消失

C# 拖动后窗格将消失,c#,wpf,telerik,caliburn.micro,C#,Wpf,Telerik,Caliburn.micro,我正试图在一个WPF应用程序中使用Telerik的RadDocking控件,该应用程序使用Caliburn.Micro和MEFBootstrapper。不幸的是,当我将窗格拖放到“正确”的位置时,窗格消失了 复制步骤: 拖动其中一个窗格 将窗格放置在中心轮周围的任意箭头上(请参见中的屏幕截图) 应用程序窗口移到后台,窗格消失 如果我把窗格放在其他任何地方(左、右等),放在方向盘上,而不是放在它周围的箭头上,或者让它浮动,一切都会按预期进行 问题发生后,WPF检查器仅在MainWindowVi

我正试图在一个WPF应用程序中使用Telerik的RadDocking控件,该应用程序使用Caliburn.Micro和MEFBootstrapper。不幸的是,当我将窗格拖放到“正确”的位置时,窗格消失了

复制步骤:

  • 拖动其中一个窗格
  • 将窗格放置在中心轮周围的任意箭头上(请参见中的屏幕截图)
应用程序窗口移到后台,窗格消失

如果我把窗格放在其他任何地方(左、右等),放在方向盘上,而不是放在它周围的箭头上,或者让它浮动,一切都会按预期进行

问题发生后,WPF检查器仅在MainWindowView中显示OpenedScreens ContentControl,并将直接同级ContentPresenter显示为可视树的最终节点。但是,所有视图似乎仍然附加到所有模型(OpenScreensModel、FirstScreenSModel和SecondScreenSModels)和OpenedScreensModel。Items集合仍然包含第一个和第二个屏幕

您可以下载测试项目并在上查看屏幕截图。第二个项目与第一个项目相同,但包含一些调试代码

项目结构示例:

  • MEFBootstrapper:注册Telerik约定并使Import[]/Export[]属性发挥作用的设置
  • TelerikCaliburnMicroConvections:默认情况下,使Telerik控件在Caliburn.Micro中工作的约定。其中一部分来自GitHub上的一个公共项目,RadDocking约定是与Telerik的支持人员合作制定的
  • CustomPanesFactory:由Caliburn.Micro的Convertion创建窗格时,免费提供创建窗格的课程。它将所有内容都放在mainGroup窗格组中
  • 第一屏,第二屏:只需显示相同的示例窗格
  • MainWindowView:只是打开的屏幕的一个支架,在初始化期间打开第一个屏幕和第二个屏幕
  • OpenedScreens:管理屏幕。所有打开的屏幕模型应在主窗口上显示为窗格
如何修复它