2012-02-02 30 views
1

MVVMはデータバインディングでのみ動作します。MVVMを関数呼び出しに実装する方法は?

xamlで作成されたusercontrolの関数を呼び出したいのですか?

たとえば、私は、選択されたすべてのグラフィックを上端に揃える機能AlignTopEdge()があるグラフィカルな描画のユーザーコントロールを作成しました。

私はAlignTopEdgeButtonというボタンを持っていて、このボタンコマンドをグラフィカルな描画のusercontrolのAlignTopEdge()関数にバインドしたいと思っています。

どうすればいいですか?

ありがとうございました。

答えて

1

ビュー固有のロジックなので、ビューのコードビハインドでこれを行います。あなたのViewModelは、あなたのアプリのビジネスロジックに何らかの関係がないかぎり、UIオブジェクトを整列させることを知らないでください。

は、だからあなたの場合には、私は、コードビハインドでボタンのClickイベントを処理し、ユーザーコントロールを見つけ、myUserControl.AlignTopEdge()

0

これはattached propertyの良い使用例です。例えばXAMLでユーザーコントロールのインスタンスに設定したGraphicalControlプロパティを持つ添付プロパティを持つことができます。

GraphicalControlプロパティのセッターでは、ボタンインスタンスのClickイベントを割り当ててメソッドを呼び出すことができます。

+0

を呼び出すとありがとうございました。しかし私ははっきり理解できません。 GraphicalControlインスタンス全体をViewModelにバインドすることを意味しますか? – user1184598

+0

添付プロパティのコードでGraphicalControlのインスタンスをどのように知ることができますか? – user1184598

関連する問題