将数据从Windows窗体传递到xaml.cs文件

时间:2012-03-29 06:00:07

标签: c# wpf winforms

我正在使用WPF创建我的应用程序,我使用formobject.Show()调用Windows窗体 来自xaml.cs文件,

在表单中,我有“接受”按钮和“取消”按钮。如何让xaml.cs文件知道表单中用户点击了哪个按钮。由于执行(在###。xaml.cs中)取决于单击的按钮。

2 个答案:

答案 0 :(得分:2)

我解决了它,使用了属性

表格

中的

this.DialogResult = DialogResult.OK;

并使用

cs文件中的

if (confirm.DialogResult.ToString() == "OK")用于检查单击了哪个按钮

@Sebastian感谢你的想法。

答案 1 :(得分:1)

您想进行纯粹的确认/取消评估,还是想评估更复杂的结果?对于取消/确认,您可以按照here所述,使用AcceptButton和CancelButton(仅为方便起见,使用按钮连接Esc和Enter)和DialogResult属性。

更复杂的结果以同样的方式完成,只是你没有设置DialogResult,而是自定义属性:

public partial class Form1 : Form
{
    public string MyProperty { get; set; }

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MyProperty = "Some complex result";
    }

    private void button2_Click(object sender, EventArgs e)
    {
        MyProperty = "Some other complex result";
    }
}

关闭模式对话框后,您可以轻松使用myWinform.MyProperty获取XAML.cs文件中的值(实例未被处理,因为您的变量引用它)。