(1)首先需要在主窗口的前端(MainWindow.xaml)定义一个按钮,并绑定一个命令
Command="{Binding MyIMDGSegregationWindow.OpenMainWindow}"
(2)在主窗口的VM中(MainViewModel.cs)中注册原页面的VM,即
public MyIMDGSegregationViewModel MyIMDGSegregationWindow { get; set; }
private void LoadIMDG()
{
MyIMDGSegregationWindow= ServiceLocator.Current.GetInstance<MyIMDGSegregationViewModel>();
}
(3)在原页面的VM中定义一个命令OpenMainWindow。
private RelayCommand openmainwindow;
public RelayCommand OpenMainWindow
{
get
{
if (openmainwindow == null)
{
return new RelayCommand(() => OpenWindowFunc());
}
return openmainwindow;
}
set
{
openmainwindow = value;
}
}
public object OpenWindowFunc()
{
if (MyIMDGSegregationWindow == null)
{
MyIMDGSegregationWindow = new MyIMDGSegregation();
MyIMDGSegregationWindow.Closed += NewWindowClosed;
MyIMDGSegregationWindow.Show();
}
else
{
MyIMDGSegregationWindow.Activate();
}
return null;
}
private MyIMDGSegregation MyIMDGSegregationWindow;
其中MyIMDGSegregation是原页面,
private void NewWindowClosed(object sender, EventArgs e)
{
}