隐藏在WiX中选中的复选框上的文本框

时间:2011-03-31 13:39:17

标签: wix windows-installer

是否可以隐藏在WiX中选中的复选框上的文本框?

2 个答案:

答案 0 :(得分:11)

感谢您的评论,第一条评论对我有所帮助。它是这样完成的:

<Control Id="LoginTextBox" Type="Edit" Text="CM2" Height="17" Width="200" X="150" Y="198" Property="Login">
<Condition Action="hide" >CreateDBUsers&lt;&gt;1</Condition>
<Condition Action="show" >CreateDBUsers=1</Condition>
</Control>

答案 1 :(得分:0)

这是一个非常老的问题,答案是:是的。

基于this blog postBogdan Verbenets's answer,我终于了解了它的工作原理。要详细说明已选择的答案,此基于他的答案的摘要可能有助于您了解更多信息:

<Control Id="AnyCheckBox" Type="CheckBox" Height="17" Width="10" X="150" Y="180" Property="CreateDBUsers" CheckBoxValue="1" />

<Control Id="LoginTextBox" Type="Edit" Text="CM2" Height="17" Width="200" X="150" Y="198" Property="Login">
  <Condition Action="hide"><![CDATA[CreateDBUsers<>"1"]]></Condition>
  <Condition Action="show">CreateDBUsers="1"</Condition>
</Control>

上面的代码 与以下代码相同

<Control Id="AnyCheckBox" Type="CheckBox" Height="17" Width="10" X="150" Y="180" Property="CreateDBUsers" CheckBoxValue="0" />

<Control Id="LoginTextBox" Type="Edit" Text="CM2" Height="17" Width="200" X="150" Y="198" Property="Login">
  <Condition Action="hide"><![CDATA[CreateDBUsers<>"0"]]></Condition>
  <Condition Action="show">CreateDBUsers="0"</Condition>
</Control>

请注意CheckBoxValue,其值决定了您要在条件文本中写的内容。

注意:

  • 当您需要编写涉及<![CDATA[ write_something_here ]]>(小于等于)或<(大于等于)的条件时,最好使用>
  • 在条件文本中使用字符串("1""0")可能更合适,因为CheckBoxValue实际上使用字符串数据类型,您可以在official documentation处进行检查。尽管这不是强制性的。

复选框在WiX中肯定有很大不同。