代码之家  ›  专栏  ›  技术社区  ›  Matt McManis

如何在新窗口中继承主窗口?

  •  -1
  • Matt McManis  · 技术社区  · 6 年前

    新班级

    我可以继承 MainWindow 新的 Class 使用 MyClass : MainWindow .

    combobox1 不再需要 mainwindow.combobox1 .

    public partial class MyClass : MainWindow
    {
        public void MyMethod() 
        {
            if ((string)combobox1.SelectedItem == "red") 
            {
                //...
            }
        }
    }
    

    新建窗口

    我怎么能继承 主窗口 在一个 New Window ?

    我试过了 NewWindow : Window : MainWindow NewWindow : Window, MainWindow 但这不是正确的格式。

    现在我必须通过 主窗口 NewWindow 的构造函数。

    组合框1 必须是 主窗口.combobox1 .

    public partial class NewWindow : Window
    {
        MainWindow mainwindow;
    
    
        public NewWindow(MainWindow mainwindow)
        {
            InitializeComponent();
    
            this.mainwindow = mainwindow;
    
            if ((string)mainwindow.combobox1.SelectedItem == "red") 
            {
                //...
            }
        }
    }
    

    我想让
    (string)mainwindow.combobox1.SelectedItem == "red"
    使用
    (string)combobox1.SelectedItem == "red" .


    主窗口

    打开新窗口按钮

    private void btnOpenNewWindow_Click(object sender, RoutedEventArgs e)
    {
        NewWindow newwindow = new NewWindow(this);
    
        newwindow.ShowDialog();
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Mihir Dave    6 年前

    你的问题的解决办法就是这样。

    public partial class NewWindow : MainWindow 
    {
       public NewWindow() : base()
       {
       }
       //usual Code 
    }
    

    你从主窗口继承。

    注: 但正如评论中提到的,这不是建议的方式。