目前支持在MobileControl和MobileForm中使用OnAction(注册动作)和DoAction(执行动作)。
比如在MobileForm中注册一个动作
C#: this.OnAction("test", (obj, args) => { MessageBox.Show("test" + args.Data.ToString()); });
在MobileControl中执行一个动作
C#: this.DoAction("test","这是从控件里发出的");
1.OnAction只针对当前控件所属的窗体,不可跨窗体。其第一个参数为Action名称,第二个参数是执行DoAction方法后触发的回调。
2.DoAction中的第一个参数是Action名称,第二个参数是object类型,在OnAction中自行转换。如果当前窗体上不存在OnAction的注册时,系统自动忽略,不会报错。
该功能可快速实现在UserControl中更新UserControl所属的Form。
例如Listview的UserControl中点击Button 来更新Form中的控件。如下图中的Form和Usercontrol
在UserControl中的Button点击事件中写:
C#: this.DoAction("test",label1.Text);
在Form中Load事件中写:
C#: this.OnAction("test", (obj, args) => { label1.Text="更新:" + args.Data.ToString(); });
这样点击“更新form”Button,就能更新Form中的Label控件了。