Scope of event bindings事件绑定的范围

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 指南 > mapp view性能指南 > 软件指南 > 事件绑定 >

Scope of event bindings事件绑定的范围

如果一个事件触发了一个导致内容片断改变的行动,必须检查行动的顺序以避免范围的改变。

如果范围的变化使事件的范围不再是活动的,那么尚未执行的动作将不会被完成。

这适用于以下行动

Navigate

OpenDialog / CloseDialog

LoadContentInArea / LoadContentInDialogArea

LoadContent (widget ContentControl)

例子 1:

EB_1

在这个例子中,如果一个按钮被点击(动作 Navigate),然后 表格 部件Tabele1 上的 动作 SetVisible那么这个页面就会被改变 。

然而,如果新的页面不包含带有触发这个原始点击事件的按钮的内容,那么随后用于设置表格可见性的动作将不会被执行。

为了避免这个问题,表格的可见性必须被设置为第一个动作,然后再导航到新的页面

例2:

EB_2

在这个例子中,如果LoginButton在一个对话框中被点击,对话框就会被关闭,新的内容会被加载到部件ContentControl中。然而,由于该按钮位于对话框中,事件绑定的范围在关闭对话框后不再有效。第二个动作(LoadContent)没有被执行。

为了避免这个问题,可以在关闭对话框之前加载这块内容。或者,可以创建两个单独的事件:一个是在点击按钮时关闭对话框,另一个是在对话框关闭时加载内容(使用事件 DialogClosed)。