私はMVVMが初めてで、ダイアログを開き、その後独自のViewModel c#ファイルでダイアログを閉じる方法に問題があります。可能な解決策を検索しましたが、適切なものは見つかりませんでした。私の解決策は次のようになりますが、これに欠点があるかどうかはわかりません。UserControl を定義し、次のコマンドで開きます。
void ChangeDataPathExecute()
{
Window window = new Window
{
Content = new ChangeDataRootPathUserControl(),
};
window.ShowDialog();
}
UserControl ファイルの ViewModel で次を実装します。
private void DetermineMyWindow()
{
foreach (Window window in App.Current.Windows)
{
ChangeDataRootPathUserControl uc = window.Content as ChangeDataRootPathUserControl;
if (uc == null)
continue;
myWindow = window;
}
そして最後に Close メソッドで:
void OkChangeDataRootPathExecute()
{
DetermineMyWindow();
myWindow.Close();
}
これについてあなたはどう思いますか?ハックまたは良い解決策?フィードバックありがとうビート