我们正在使用Caliburn Micro并且它非常好但现在我们正在使用新的Ribbon控件(.NET 4.5附带)。这个控件有RibbonButton,虽然这个按钮有一个click事件,而且它是一个按钮,但当它的名字与viewmodel方法一匹配时,Caliburn似乎不会自动触发该动作。
现在,我们可以通过使用cal:Message.Attach="ViewHelp"
来解决这个问题,但是由于功能区栏中有相当多的控件,我想知道是否有一种简单的方法可以使RibbonButton
之间的自动绑定工作和ViewModel
方法。
答案 0 :(得分:2)
您可以使用ConventionManager。从这开始:
ConventionManager.AddElementConvention<RibbonButton>(
RibbonButton.ContentProperty, "DataContext", "Click");
将此代码放在Bootstrapper中。像这样:
public class AppBootstrapper : Bootstrapper
{
protected override void Configure()
{
ConventionManager.AddElementConvention<RibbonButton>(
RibbonButton.ContentProperty, "DataContext", "Click");
}
}
这绝不是你在引导程序中应该做的。只是为了展示正确的地方。