我在我的应用程序中使用Catel和DevExpress DockLayoutManager。我想使用此代码自动创建视图模型:
http://gyazo.com/147dff382d16e08cee0270ac20c6b330
http://gyazo.com/24a4ec62e90d49b4e08e3ba1d1790b59
但编译后我无法运行该应用程序
如果我们在catel:UserControl
上替换UserControl
,那么一切正常:
http://gyazo.com/b69a0257d992bb13c19813c055d47d92
,但没有创建ViewModel。
我想使用IUserControl
,但它没有帮助。 UserControlLogic
未将DocumentPanel
视为UserControl:
http://gyazo.com/e5596231404c054e459db06446ab57ee
答案 0 :(得分:0)
原因是DocumentPanelEx(以及DocumentPanel)不是从UserControl派生的。我将调查是否可以将使用的基类转换为ContentControl而不是UserControl(但问题是:DocumentPanel从哪个类派生?)。如果您希望我们进行调查,请在http://www.catelproject.com/support/issue-tracker/
的积压中添加问题现在,您应该将UserControl作为root用户放入DocumentPanelEx。我知道这不是理想的情况,但它现在会解决你的问题。
答案 1 :(得分:0)
我已经从故障Catel and DevExpress DockLayoutManager don't work together审核了您的项目,似乎问题是由Catel UserControl引起的。在启动时,它尝试以递归方式在可视树和逻辑树中查找InfoBarMessageControl。如果没有这样的控制并且可视树很大,则此操作可能花费很长时间。我建议你将DockLayoutManager包装在InfoBarMessageControl中,这应该可以解决问题。