Мы используем Caliburn.Micro для нового проекта Silverlight, и все отлично работает. Встроенные соглашения связывают события нажатия кнопок с viewModel, но я не уверен, каков наилучший способ обработки события 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();
}
}