0

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

步骤分解

第 1 步:主窗体启动

第 2 步:单击 main from 以启动表格 2。

第 3 步:从数据库中获取数据填充表格 2。用户在这里选择几个值。

第 4 步:单击表格 2 中的“保存”按钮,以便在主表格中反映值。

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

4

2 回答 2

1

通过利用评论中发布的史蒂夫建议,我能够解决这个问题。这样做的方法是“将主窗体的引用传递给构造函数中的第二个窗体”

例子 :

主窗体:

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 中定义的文本框中。

于 2013-05-20T08:46:21.557 回答
1

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

于 2013-05-20T08:43:11.830 回答