新しい Silverlight プロジェクトで Caliburn.Micro を使用しましたが、すべてうまく機能しています。組み込みの規則により、ボタンのクリック イベントがビューモデルにバインドされますが、データグリッドとコンボボックスで selectionChanged イベントを処理する最善の方法が何であるかはわかりません。
現時点では、選択したアイテムにバインドしてカスタム ロジックを呼び出していますが、これは少しコードの匂いがするので、プロパティと selectedChange イベントの設定を分離する必要があると感じています。しかし、これらを分離した場合、選択変更イベントをコマンドでviewModelにバインドするにはどうすればよいですか? またはイベントトリガー?または、以下のコードは受け入れられますか? その小さな変更ですが、私はこのロジックをどこでも行っています。
private Foo _selectedFoo;
public Foo SelectedFoo
{
get
{
return _Foo;
}
set
{
if (_Foo != null && _Foo.Equals(value)) return;
_Foo = value;
NotifyOfPropertyChange("SelectedFoo");
NotifyOfPropertyChange("CanRemove");
LoadRelatedBars();
}
}