Я пытаюсь закрыть пользовательский контроль из модели представления, которая была открыта как окно / диалоговое окно в команде кнопки модели представления.
Открыть пользовательский контроль в виде окна / диалогового окна: MainWindow >> Кнопка >> Команда через MainWindowViewModel >> Показать пользовательский контроль в виде окна / диалогового окна
Закрыть пользовательский контроль, открытый на предыдущем шаге: ????
Также мне интересно, нарушаю ли я шаблон mvvm, поэтому, если кто-то может предоставить мне некоторые правильные примеры, так как я довольно новичок в шаблоне wpf MVVM.
кнопка главного окнакоманда в viewmodel:
private void ExecuteOtherMethod(object parameter)
{
registerWindow win = (registerWindow)Application.Current.MainWindow;
//win.pp.IsOpen = true;
win.bankRectangle.Visibility = Visibility.Visible;
Window window = new Window
{
WindowStyle = WindowStyle.None,
SizeToContent = SizeToContent.WidthAndHeight,
ResizeMode = ResizeMode.NoResize,
Content = new otherOptionsView()
};
window.Owner = win;
window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
window.ShowDialog();
}
usercontrol viewmodel для закрытия usercontrol:
private void ExecuteMethod(object parameter)
{
//otherOptionsView newview = new otherOptionsView();
//Window parentWindow = (Window)newview.Parent;
//parentWindow.Close();
var displayViews = App.Current.Windows.OfType<otherOptionsView>();
if (displayViews.Any())
displayViews.First().Close();
registerWindow win = (registerWindow)Application.Current.MainWindow;
win.bankRectangle.Visibility = Visibility.Collapsed;
}