如何在安装遮罩中刷新向导上的向导UI
问题描述:
我正在使用installshield 2016中的基本MSI安装遮罩项目。我的向导步骤中有编辑字段和文本区域。文本区域实际上是一个错误标签。 Visible
文本区域控件的属性最初设置为false
。如何在安装遮罩中刷新向导上的向导UI
将一些输入放入编辑字段后,用户在向导步骤按下Next >
按钮。我们对用户输入执行一些验证,然后在用户输入有效时将私有属性IsUserInputValid
设置为1。 IsUserInputValid
属性的初始值是0值HasValidationRun
标志为0
现在的行为部分我已经添加了一个事件,显示为下面的编辑文本区域控制:
HasValidationsRun = 1 AND IsUserInputValid=0
当我点击Next >
按钮后,错误标签不显示。但是,如果我更改通过验证的输入,那么向导将移动到下一步,并且恰好在转换发生之前,标签变为可见一秒。我不知道如果我已经正确定义了Show
事件的条件,UI为什么不自己刷新。
答
您需要添加一个将属性设置为新值的SetProperty控制事件。这告诉UI更新引用已更改属性的条件(或包含已更改属性的文本等)。 Windows安装程序不会监视其他方式更改属性。见我的答案相关:
- https://*.com/a/36113583 - 包括一般的更新,包括知名度
- https://*.com/a/38099371 - 涵盖了文本更新,但同样的原则也适用。
如何设置IsUserInputValid和HasValidationRun?我假设它是在自定义操作中,而不是在SetProperty控制事件中。如果是这样的话,那就是问题所在,如果没有人能够胜任我的话,我可以写出一个答案。 –
是的。 “IsUserInputValid”变量存储从自定义操作返回的整数值。我点击'下一步'按钮来调用这个自定义动作。 – RBT