我们在一个新的 Silverlight 项目中使用了 Caliburn.Micro,一切都很好。内置约定将按钮单击事件绑定到 viewModel,但我不确定在数据网格和组合框上处理 selectionChanged 事件的最佳方法是什么。
目前,我正在绑定到所选项目并调用自定义逻辑,但我觉得这有点代码味道,我应该将属性的设置和 selectedChange 事件分开。但是,如果我将这些分开,如何通过命令将选择更改事件绑定到我的视图模型?还是事件触发器?或者下面的代码可以接受吗?这是一个很小的变化,但我到处都在做这个逻辑。
private Foo _selectedFoo;
public Foo SelectedFoo
{
get
{
return _Foo;
}
set
{
if (_Foo != null && _Foo.Equals(value)) return;
_Foo = value;
NotifyOfPropertyChange("SelectedFoo");
NotifyOfPropertyChange("CanRemove");
LoadRelatedBars();
}
}