我已经构建了一个启动新表单的wpf表单。新表单会获取更多数据。现在我希望将数据反映回主表单,即在弹出的表单上实现“保存”按钮。我要保存的数据是ObservableCollection列表的形式。我不知道我是怎么做到的。
分解步骤
第1步:主窗体启动
步骤2:点击main from以启动表格2。
步骤3:从数据库中获取数据填充表单2。用户在此处选择一些值。
步骤4:单击表单2中的“保存”按钮,以便在主表单中重新选择值。
我完成了步骤1-3。我不太确定第4步是怎么做的。我不能在这里进行数据绑定,因为列表是在表单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中定义的文本框中。