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

本文关键字:xaml cs 文件 数据 windows 窗体 | 更新日期: 2023-09-27 18:29:16

我使用WPF创建应用程序,我使用formobject调用windows窗体。显示()从xaml.cs文件,

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

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

我解决了它,使用了属性

形式的this.DialogResult = DialogResult.OK;

并使用

cs文件中的if (confirm.DialogResult.ToString() == "OK")以检查点击了哪个按钮

@Sebastian谢谢你的想法。

您想进行纯确认/取消评估,还是想评估更复杂的结果?对于取消/确认,您可以使用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文件中获取值(实例未被释放,因为您的变量引用了它)。