作者:mobiledu2502861763 | 来源:互联网 | 2024-10-17 14:05
有时,我们可能需要刷新View的显示内容,比如后台线程可能一直在向数据库里放数据,而XAF的显示对应数据库表的View是不会自动刷新的,除非手动点击刷新。这时可以在代码里控制定时刷新,刷新的方法有两种:
一.使用RefreshAction
RefreshAction属于RefreshController,所以,在ViewController中得到该Controller即可
protected override void OnActivated(){base.OnActivated();RefreshController rc = Frame.GetController();if (rc != null){SimpleAction sa= rc.RefreshAction;}}
刷新View
if (sa != null)sa.DoExecute();
二.使用对应View的ObjectSpace
每个View都对应一个ObjectSpace,故使用其Refresh方法即可。
ObjectSpace.Refresh();
注意,如果更改是在ViewController里做出的,可能需要先提交更改后刷新才会看到效果
ObjectSpace.CommitChanges();
ObjectSpace.Refresh();
三.刷新View的CollectionSource
((ListView)View).CollectionSource.Reload();