モジュール内にモジュールがあります。「作成」と「編集」の 2 つのリボン ボタンが必要です。これらのボタンはどちらも同じビューとビューモデルを指しています。これらを区別できる唯一の方法は、リボン ボタンのコマンド パラメータ プロパティ部分を使用することです。 Navigate View を使用して View に移動しています。追加のパラメーターを ViewModel コンストラクターに渡し、呼び出しが Create または Edit からのものであることを伝えたいです。何か提案はありますか??
3 に答える
ViewModel に 2 つの異なるコマンドを作成する必要があります。
1- CommandEdit -->CommandProperty button Edit
バインディングによって割り当て;
2- CommandCreate -->CommandProperty button Create
バインディングによって割り当てられます。
恥ずべきコマンドの動作でロジックを共有するのは得策ではありません。
私は2 つの異なるボタンをバインドCreate
します (例:と ) 。Command の対応する Execute メソッドで、呼び出し元に関する追加の詳細を渡します。Edit
Commands
CreateCommand
EditCommand
サンプルコード:
void CreateCommandExecute(object o)
{
YourMethod("Create", o);
}
void EditCommandExecute(object o)
{
YourMethod("Edit", o);
}
void YourMethod(string caller, object commandParameter)
{
// Your logic goes here
}
RibbonButton には Tag プロパティがあります。
http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.ribbonbutton.ASPX http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag .ASPX
ボタンを定義するときに、各リボン ボタンの Tag プロパティを設定できます。その後、イベント ハンドラーでタグ値を抽出し、それに応じて対応できます。