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