我们正在一个新的Silverlight项目中使用Caliburn.Micro,一切都很好。内置的约定将按钮的点击事件绑定到了viewModel,但我不确定如何最好地处理datagrids和comboboxes上的selectionChanged事件。
目前,我绑定到所选项并调用自定义逻辑,但我觉得这有点像代码异味,我应该将属性设置和selectedChange事件分开。但如果我将它们分开,如何将选择更改事件绑定到我的viewModel?通过命令或EventTrigger吗?或者下面的代码是可接受的?虽然这只是一个小变化,但我在所有地方都这样做。
private Foo _selectedFoo;
public Foo SelectedFoo
{
get
{
return _Foo;
}
set
{
if (_Foo != null && _Foo.Equals(value)) return;
_Foo = value;
NotifyOfPropertyChange("SelectedFoo");
NotifyOfPropertyChange("CanRemove");
LoadRelatedBars();
}
}