在wpf表单之间传输数据

时间:2013-05-20 07:32:44

标签: c# wpf winforms forms

我已经构建了一个启动新表单的wpf表单。新表单会获取更多数据。现在我希望将数据反映回主表单,即在弹出的表单上实现“保存”按钮。我要保存的数据是ObservableCollection列表的形式。我不知道我是怎么做到的。

分解步骤

第1步:主窗体启动

步骤2:点击main from以启动表格2。

步骤3:从数据库中获取数据填充表单2。用户在此处选择一些值。

步骤4:单击表单2中的“保存”按钮,以便在主表单中重新选择值。

我完成了步骤1-3。我不太确定第4步是怎么做的。我不能在这里进行数据绑定,因为列表是在表单2中定义的(或者有出路吗?)我现在需要在数据库中保存数据然后进行查询吗?

2 个答案:

答案 0 :(得分:1)

在MainForm中创建ObservableCollection变量并指定初始空值。将此变量传递给表单2.如果用户按下“保存”按钮,则创建这些变量的实例,并在表单2中为这些变量添加值。如果用户按下取消按钮,则将此变量设置为null。在表单2打开/关闭代码之后的MainForm中,检查变量是否为空,然后在表单2中为这些变量分配了一些值。所以进一步使用该变量。

答案 1 :(得分:1)

我能够通过使用评论中发布的Steves建议来解决问题。这样做的方法是“将mainform的引用传递给构造函数中的第二个表单”

示例:

MainForm:

public void updateText(String data)
{
    txb.Text = data;
}

表格2:

// Here the constructor takes a reference of the Mainform . 
MainWindow mainform = null;

public Form2(MainWindow w)
{
    mainform = w;
    ......
}
// Perform relevant operations on Form2 finally call 
 mainform.updateText(data);

多数民众赞成。更改将反映在MainWindow中定义的文本框中。

相关问题