首页 新闻 搜索 专区 学院

关于wpfMVVM子窗体给父窗体传值问题

1
悬赏园豆:200 [已解决问题] 解决于 2015-12-08 20:24

父窗体有DataGrid控件,DataGrid里面有很多行数据。另外还有一个定时器用来对父窗体Datagrid的数据源进行更新(从后台数据库读取)。现在选中一条数据,点击跳转按钮跳转到另一个窗体(我称之为子窗体),此时把定时器暂停不刷新。现在我在子窗体中成功获取倒了父窗体传过来的值,然后我改变了子窗体的里面的值并且对数据库进行了更新(数据库更新也成功了)。在关闭子窗口时候,我对DataGrid的数据源重新从数据库读取,并且恢复定时器。现在的问题是父窗体的数据源并没有更新,被选中的那一行还在。求问:如何使父窗体的数据进行更新!我用事件监听也用过了,不可以。

Model层我也实现了INotifyPropertyChanged接口,DataGrid数据源集合也是用ObservableCollection集合,用的是MVVM,父窗体和子窗体的ViewModel都是在一个类中。
下面是部分代码截图

数据绑定代码

子窗体关闭时代码

小艾eason的主页 小艾eason | 初学一级 | 园豆:9
提问于:2015-11-12 15:41
< >
分享
最佳答案
0

父窗体写个公有方法进行开启定时器及刷新,字窗体关闭的时候调用下。

Firen | 大侠五级 |园豆:5483 | 2015-11-13 17:14
其他回答(3)
0

没用过MVVM,主窗体中监听子窗体的关闭事件不能用么?

WinRemark.Closed += (s, e) =>
{
  // 数据操作 恢复计时器等
}
宁涛 | 园豆:348 (菜鸟二级) | 2015-11-12 16:21
0

恢复定时器后,设个断点,看定时器事件是否执行了

收获园豆:200
jello chen | 园豆:7096 (大侠五级) | 2015-11-12 16:21
0

绑定数据方法只是刷新了数据源,你关闭子窗体的时候重新定义一个数据源,手动绑定到datagrid上试试。

咸鱼.net | 园豆:216 (菜鸟二级) | 2016-04-06 17:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册