我有一個叫做InformationView.xaml的視圖,這個視圖被重用來顯示來自3個不同來源的相同信息(每個視圖都有不同的窗口標題)。每個視圖都將其datacontext設置爲一個ViewModel類型的同一個實例。在我的ViewModel類中,我有一個ICommand屬性,View中的'Close'按鈕被綁定。 - 有沒有辦法確定發件人是誰的命令? (具體來說,通過窗口標題)。如何確定哪個視圖執行了一個命令
下面是一個例子:
我有以下按鈕的視圖類(「注意:每個View將具有來自不同來源不同的窗口標題/顯示數據 - 但相同的視圖用於)
<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的實例)。
能不能介紹一下爲什麼你需要知道詳細哪個視圖調用了關閉命令? –
取決於哪個View執行了該命令,將會執行一個不同的方法 –
您是不是會爲每個行爲派生一個新的ViewModel並重寫OnClose()方法呢? –