如何在构造函数新窗口中访问参数?

时间:2019-04-24 03:21:01

标签: c# wpf

我想将变量作为参数从主窗口传递到新窗口。

实际上,我可以在新窗口的事件处理程序中访问参数,但不能在构造函数中访问。

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 个答案:

答案 0 :(得分:1)

只需为您构造函数

添加一个参数
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事件之类的地方这样做