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