是否有关于将AvalonDock与Caliburn Micro MVVM配合使用的博客或文章? 谷歌搜索时找不到多少
http://avalondock.codeplex.com/
编辑:投了一票,为什么不用最终解决方案更新。 完整代码可以在这里找到
https://github.com/AndersMalmgren/FreePIE
大多数与avalon相关的代码都在这里找到
https://github.com/AndersMalmgren/FreePIE/blob/master/FreePIE.GUI/Shells/MainShellView.xaml
Sam回答后更新
为了启用Caliburn,需要做的非常非常少。首先实现LayoutItemTemplateSelector
public class AutobinderTemplateSelector : DataTemplateSelector
{
public DataTemplate Template { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
return Template;
}
}
并将其与内容控件和Caliburns View.Model附加机制一起使用,如
<xcad:DockingManager.LayoutItemTemplateSelector>
<avalonDock1:AutobinderTemplateSelector>
<avalonDock1:AutobinderTemplateSelector.Template>
<DataTemplate>
<ContentControl cal:View.Model="{Binding . }" IsTabStop="False" />
</DataTemplate>
</avalonDock1:AutobinderTemplateSelector.Template>
</avalonDock1:AutobinderTemplateSelector>
</xcad:DockingManager.LayoutItemTemplateSelector>
答案 0 :(得分:6)
在研究同样的事情时,我遇到了Tim Jones开发的Gemini框架:
Github - https://github.com/tgjones/gemini
网站 - http://documentup.com/tgjones/gemini
尝试将AvalonDock与Caliburn.Micro集成,以提供构建类似IDE的应用程序的单一框架。它还处于早期阶段,但他正在实施一些基于Caliburn整体设计的有趣抽象。
它还有一些很好的演示应用程序,展示了如何使用框架。
答案 1 :(得分:2)
http://caliburnmicro.codeplex.com/discussions/231809 和 http://caliburnmicro.codeplex.com/discussions/430994(解决方案)
我相信这是我用来为telerik RadDockingManager
创建类似文档管理器的帖子。该帖子和this代码可能有所帮助。