Loading invisible contents if necessary必要时加载不可见的内容

<< 点击显示目录 >>

主页  mappView帮助助手 > mapp View帮助信息 > 指南 > mapp view性能指南 > 软件指南 > 考虑到活动绑定的数量 >

Loading invisible contents if necessary必要时加载不可见的内容

一块内容的所有配置的部件都提供数据并保存在客户端,不管它们的可见性状态如何。

不可见的部件也需要在OPC UA服务器上为每个活动的OPC UA绑定提供相应的资源。因此,建议在必要时加载需要的内容片段,而不是隐藏那些不需要的内容片段或部件。

例1:必要时加载一块内容

假设有一个针对不同机器部件的配置页面。点击各种按钮可以启用各种配置选项,并在HMI应用程序中显示。

对于这种情况,传统的方法或VC4的方法是使页面上的每个部件都可用,点击一个按钮使某些部件可见,而隐藏其他部件。在这种情况下,页面包含所有可能的部件,但每次只有这些部件的一个子集是可见的。

在mapp View中推荐的方式是使用部件 ContentControl 或动作 LoadContentToArea。在这种情况下,每个机器部分都有自己的内容。然后根据需要将相关的内容片断加载到页面的一个区域或小部件ContentControl中。这种策略减少了活动内容片上的小部件数量,因为隐藏的小部件是不可用的。这就优化了页面的性能。

例2:Widget FlyOut

小工具FlyOut的内容  通常是不可见的。只有当用户打开小部件并将其拖入视图时,其内容才会显示。即使Widget FlyOut的内容不被显示,它们仍然是活动的。为了优化人机界面应用程序中活动部件的数量,部件 ContentControl 可用于仅在部件被打开时加载flyout的内容。

如果使用没有飞出按钮的飞出窗口(即属性showButton设置为FALSE),这种策略特别有用。没有飞出按钮,小部件只能被完全打开或关闭。

为了实现这一点,  必须使用flyout事件 ToggleStateChanged 来触发内容片的加载和卸载。当打开flyout时,可以使用flyout中的widget ContentControl动态加载所需的内容片断。当flyout被关闭时,一个空的内容(或一个带有当前内容截图的内容)被加载到widget ContentControl。这个过程在下图中描述。

Flyout

包含小组件FlyOut、InfoBanner、ContentControl或ContentCarousel的内容片断不能用小组件ContentControl加载。