0

在此处单击按钮以关闭现代窗口 ..这不起作用

private void Button_Click_1(object sender, RoutedEventArgs e)
    {
     // this MainWindow is like this  --> <mui:ModernWindow  x:Class="FirstFloor.ModernUI.App.MainWindow1" ....>

        MainWindow1 mw = new MainWindow1();

        // this is my  login Page..
        Login lg = new Login();
        lg.Show();
        mw.Close();  //here code is not working
    }
4

1 回答 1

0

你在那次Button_Click_1事件中所做的是你创建了一个新的 ModernWindow1 然后你关闭了新创建ModernWindow1的 , 。现在,从技术上讲,您在该事件开始时有两个 ModernWindow1。你需要的是关闭当前运行的ModernWindow1,而不是新创建的ModernWindow1。为此,您需要ModernWindow1在转到另一个窗口之前参考旧的。

这是第二个现代窗口

public partial class ModernWindow2 : ModernWindow
    {
        public dynamic ReferencedWindow2; //you will put the original Window here

        public ModernWindow2()
        {
            InitializeComponent();
        }

        public ModernWindow2(dynamic referencedWindow) // second constructor with a parameter
        {
            InitializeComponent();
            ReferencedWindow2 = referencedWindow; // the original modernwindow being put in here
        }

        private void Button_OnClick(object sender, RoutedEventArgs e)
        {
            ReferencedWindow2.Close();
        }
    }

这是原始或主要的现代窗口

public partial class ModernWindow1 : ModernWindow 
    {

        public ModernWindow1()
        {
            InitializeComponent();


        }

        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            /*
            this will show the second modernwindow using the second constructor with parameter
            */
            ModernWindow2 newWindow2 = new ModernWindow2(this);  
            newWindow2.Show();
        }
    }
于 2015-04-28T16:13:37.860 回答