我有一个带有编辑类型控件的Wix对话框(这是服务所依赖的服务器的uri)。
如何在输入值之前禁用“下一步”按钮?
答案 0 :(得分:10)
以下是我们过去使用的一些(旧)生产代码的摘录:
<Dialog Id="MyDlg_Error" Width="260" Height="85" NoMinimize="yes" Title="!(loc.MyDlg_Title)">
<Control Id="MyDlgSkipDesc" Type="Text" Width="194" X="48" Y="15" Height="30" Text="!(loc.MyDlg_ErrorMsg)" />
<Control Id="Ok" Type="PushButton" X="97" Y="57" Width="66" Height="17" Text="!(loc.WixUIOK)" />
</Dialog>
<Publish Dialog="MyDlg" Control="Next" Event="SpawnDialog" Value="MyDlg_Error"><![CDATA[Not (MY_REQUIRED_FIELD <> "")]]></Publish>
<Publish Dialog="MyDlg_Error" Control="Ok" Event="EndDialog" Value="Return">1</Publish>
答案 1 :(得分:3)
没有合理的方法可以做到这一点。相反,保持Next启用并使用绑定到Next的SpawnDialog控件事件进行检查,如果属性为空则显示错误。它还允许您运行验证自定义操作,如果您想要更有用的“非空”。