2012-03-30 5 views
2

私はmvvmlightのようなmvvmフレームワークを持たない単純なWPFアプリケーションを持っています。ビューモデルにあるICommandにウィンドウクローズイベントをバインドする方法はありますか?イベントをICommandにバインドする

私は

<Window.CommandBindings> 
    <CommandBinding Command="Close" Executed="{Binding WindowClose}" /> 
</Window.CommandBindings> 

のようなものを試してみましたが、それはイベントハンドラを探しているので、明らかにそれは動作しません。これを行う簡単な方法はありますか?

答えて

2

イベントを購読閉じるとコードからWindowClose.Execute(null)を呼び出します。 またはEventToCommand(一部のMVVMツールキットから)を使用してください。

+0

私は、 'Closing'イベント用のシンプルなイベントハンドラを作成することができますが、そのイベントハンドラからICommandを呼び出すにはどうすればいいですか?現時点ではMVVMツールキットを使用することはできません。 –

+0

WindowClose.Execute(null); – Rover

+0

WindowCloseはビューモデルのICommandプロパティです。イベントハンドラのように直接アクセスできるとは思いません。私はdatacontextからビューモデルを取得し、Invokeを呼び出す必要がありますか? –

関連する問題