私は、InformationView.xamlと呼ばれるビューを持っています。この同じビューは、3つの異なるソースから同じ情報を表示するために再利用されます。各ビューのdatacontextには、1つのViewModelタイプの同じインスタンスが設定されています。私のViewModelクラス内には、View内の 'Close'ボタンがバインドされているICommandプロパティがあります。 - 送信者が誰であるかを判断する方法はありますか? (具体的には、ウィンドウタイトルによって)。ここでどのコマンドがどのコマンドを実行したかを調べる方法
は一例です:
私は、以下のボタン(「注:各ビューは、異なるソースからの異なるウィンドウタイトル/表示データを持っています - しかし、同じビューが使用されている)でビュークラスを持っています
<Button Width="75" Height="23" Margin="0,0,5,5" Content="Close" Command="{Binding CloseCommand}" />
は私がコマンドを実行しているウィンドウを決定するための方法を探しています
public ICommand CloseCommand
{
get
{
if (this._closeCommand == null)
{
this._closeCommand = new RelayCommand(Command => this.OnClose());
}
return _closeCommand;
}
}
次のコマンドを使用してのViewModelクラスを持っている(私はマルチしています同じViewModelを使用しているViewのインスタンス)。
あなたが知っておく必要がある理由について詳しく説明することはできますどのビューからCloseコマンドが呼び出されましたか? –
どのビューがコマンドを実行したかによって、別のメソッドが実行されます –
各ビヘイビアに対して新しいViewModelを派生させずにOnClose()メソッドをオーバーライドしますか? –