如何用代码关闭Morden UI页面?

时间:2014-01-24 11:57:14

标签: c# wpf mui

这里按钮点击关闭现代窗口..这不起作用

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
    }

1 个答案:

答案 0 :(得分:0)

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

这是第二届ModernWindow

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();
        }
    }

这是原始或主要的MODERNWINDOW

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();
        }
    }