Обработка событий в WPF - PullRequest
       1

Обработка событий в WPF

1 голос
/ 15 марта 2012

В окне есть кнопка btn_Edit.При нажатии этой кнопки открывается новое окно (new_win) и событие нажатия кнопки добавляется к кнопке (btn_OK) на new_win.Кажется, что btn_OK_Click не работает, потому что new_win не закрывается.Где проблема?

    BC_edit new_win = new BC_edit();

    private void btn_Edit_Click(object sender, RoutedEventArgs e)
    {            
        new_win.Title = "a_title";
        new_win.ShowDialog();

        new_win.btn_OK.Click += new RoutedEventHandler(btn_OK_Click);            
    }

    private void btn_OK_Click(object sender, RoutedEventArgs e)
    {
        _MyCollection.Add(new MyData
        {
            Boundary = new_win.Title,
            Type = new_win.cmb_BC_edit_type.SelectedItem.ToString(),
            Option = new_win.cmb_BC_edit_options.SelectedItem.ToString()
        });

        new_win.Close();
    }

1 Ответ

7 голосов
/ 15 марта 2012

Вам необходимо подписаться на событие до того, как вы откроете новое окно:

    new_win.btn_OK.Click += new RoutedEventHandler(btn_OK_Click);
    new_win.ShowDialog();

Помните, что метод ShowDialog блокирует: он не вернется, пока окно не будет закрыто, поэтому следующие операторы не будут выполняться до тех пор.

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