拖动后,窗格消失了

时间:2014-09-26 12:15:21

标签: c# wpf telerik caliburn.micro

我正在尝试使用Caliburn.Micro和MEFBootstrapper在WPF应用程序中使用Telerik的RadDocking控件。不幸的是,当我将它们拖放到"右边时,窗格就会消失。地点。

Repro步骤:

  • 拖动其中一个窗格。
  • 将窗格放在中心滚轮周围的任意箭头上(请参阅http://1drv.ms/1utkqSZ处的屏幕截图)。

应用程序窗口移动到后台,窗格消失。

如果我将窗格放在任何其他位置(左,右等),放在方向盘上但不放在它周围的箭头上或使其浮动,一切都按预期工作。

问题发生后,WPF Inspector只显示MainWindowView中的OpenedScreens ContentControl和直接同级ContentPresenter作为可视树的最终节点。但是,所有视图似乎仍附加到所有模型(OpenScreensModel,FirstScreenModel和SecondScreenModels),并且OpenedScreensModel.Items集合仍包含第一个和第二个屏幕。

您可以下载测试项目,并在http://1drv.ms/1utkqSZ查看屏幕截图。第二个项目与第一个项目相同,但包含一些调试代码。

示例项目结构:

  • MEFBootstrapper:注册Telerik约定的设置,并使Import [] / Export []属性发挥其魔力。
  • TelerikCaliburnMicroConvetions:默认情况下,使Telerik控件在Caliburn.Micro中运行的约定。部分内容来自GitHub上的公共项目,RadDocking会议是与Telerik的支持人员合作完成的。
  • CustomPanesFactory:由Caliburn.Micro的对话创建时用于创建窗格的免费类。它将所有内容放在mainGroup窗格组中。
  • FirstScreen,SecondScreen:显示相同的样本窗格。
  • MainWindowView:只是OpenedScreens的持有者,并在初始化期间打开FirstScreen和SecondScreen。
  • OpenedScreens:管理屏幕。所有打开的屏幕模型应显示为主窗口上的窗格。

如何解决?

0 个答案:

没有答案