Как я могу получить доступ к параметру в новом окне конструктора? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу передать переменную в качестве параметра из моего главного окна в новое.

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

mainwindow.xaml.cs:

                string selectedKey = “test”;
                EditTri editTri = new EditTri();
                editTri.key = selectedKey;
                editTri.ShowDialog();

EditTri.xaml.cs:

public partial class EditTri : Window
    {

        public string key;


        public EditTri()
        {
            InitializeComponent();

         MessageBox.Show(key);  //key = null ...

        }

        private void buttonEdit_Click(object sender, RoutedEventArgs e)
        {

            MessageBox.Show(key);   //key = test

            this.Close();
        }

    }

Мне просто нужно получить доступ к параметру key в конструкторе EditTri(). Как я могу это сделать?

1 Ответ

1 голос
/ 24 апреля 2019

Просто добавьте параметр к вам конструктор

public partial class EditTri : Window
{

    private string _key;

    public EditTri(string key)
    {
        _key = key;
        InitializeComponent();

        MessageBox.Show(key); 
    }

    ...

Использование

string selectedKey = “test”;
EditTri editTri = new EditTri(selectedKey);
editTri.ShowDialog();

Предупреждение , показывающее MessageBox в конструкторе отчасти вонючее.

Лучше всего делать это где-нибудь, как на событии Loaded, т. Д.

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