[c#] Возвращаемое значение окна WPF



1 Answers

Если вы не хотите раскрывать свойство и хотите сделать использование более явным, вы можете перегрузить ShowDialog :

public DialogResult ShowDialog(out MyObject result)
{
   DialogResult dr = ShowDialog();
   result = (dr == DialogResult.Cancel) 
      ? null 
      : MyObjectInstance;
   return dr;
}
Question

У меня есть окно, в котором появляется другое окно. Я хочу, чтобы второе окно могло возвращать объект в первое окно при нажатии кнопки. Как мне это сделать?




Святая мать Марса, мне потребовалось навсегда выяснить:

ОКНО 1:

if ((bool)window.ShowDialog() == true)
{
   Window2 content = window.Content as Window2;
   string result = content.result;
   int i = 0;
}

ОКНО 2:

public partial class Window2 : UserControl
{
    public string result
    {
        get { return resultTextBox.Text; }
    }

    public Window2()
    {
        InitializeComponent();
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Window.GetWindow(this).DialogResult = true;
        Window.GetWindow(this).Close();
    }
}

XAML:

<Button IsDefault="True" ... />



Related



Tags

c# c#   wpf