ViewModelから宣言、初期化、および開かれたウィンドウを所有者として設定するにはどうすればよいですか?ネクストウィンドウのコードビハインドファイルにWPFのViewModelからウィンドウを所有者として設定する方法
public class ViewModel : INotifyPropertyChanged
{
// declaration
static nextWindow nw;
...
public ICommand OpenNextWindow { get { return new RelayCommand(OpenNextWindowExecute, CanOpenNextWindowExecute); } }
bool CanOpenNextWindowExecute(object parameter)
{
return true;
}
void OpenNextWindowExecute(object parameter)
{
nw = new nextWindow();
nw.WindowStartupLocation = WindowStartupLocation.CenterScreen;
// Set this window as owner before showing it...
nw.Show();
}
}
私はこのコードの所有者としてネクストウィンドウを設定することができます:
nw.Owner = this;
私はのviewmodelからそれを実現できますか?ここで
はコードがありますか
...あなたのビューまたは好ましくはいくつかのビューハンドラクラスで
あなたのviewmodelで.. WindowMessageクラスを作成します。あなたのViewModelにあるウィンドウに、そしてVMから関連するものにウィンドウを設定します。 しかし、あなたはViewModelがあなたのViewを知らないことを望んでいるので、それがきれいな方法であるかどうかはわかりません。 – Belterius