Как унаследовать MainWindow в новом окне? - PullRequest
0 голосов
/ 05 июля 2018

Новый класс

Я могу наследовать MainWindow в New Class, используя MyClass : MainWindow.

combobox1 больше не должно быть mainwindow.combobox1.

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

Новое окно

Как я могу наследовать MainWindow в New Window?

Я пробовал NewWindow : Window : MainWindow и NewWindow : Window, MainWindow, но это неправильный формат.

Сейчас я должен передать MainWindow конструктору NewWindow.

combobox1 должно быть mainwindow.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".


MainWindow

Кнопка открытия нового окна

private void btnOpenNewWindow_Click(object sender, RoutedEventArgs e)
{
    NewWindow newwindow = new NewWindow(this);

    newwindow.ShowDialog();
}

1 Ответ

0 голосов
/ 05 июля 2018

Решением вашего вопроса будет следующее.

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

Вы наследуете от MainWindow.

Примечание: Но, как упоминалось в комментариях, это не предложенный способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...