0

我无法找出如何在取消选择时更改复选框(=属性)的值。

到目前为止我得到了什么:

<Property Id="INSTALLEXCEL2007" />

<Control Type="CheckBox" Id="Excel2007_Checkbox" Width="88" Height="17" X="22" Y="120" Text="Excel 2007" Property="INSTALLEXCEL2007" CheckBoxValue="1" />

代码说,如果用户检查,该属性INSTALLEXCEL2007将获得 value 。1现在,如果未选中,该值仍然保持不变1。意思是,每次单击复选框都会将值分配1给该属性。

有没有办法获得“未经检查的价值”?

我已经尝试过,但在我的情况下它不起作用。

4

2 回答 2

1

如果用户取消选中复选框,则该属性将被删除,或者它的值变为空。您可以使用如下所示的取消选中条件。

INSTALLEXCEL2007 <> 1

如果您使用文本控件在对话框中测试 Checkbox 属性值(选中和取消选中),它将不会得到更新。您需要发布该属性,或者如果您单击下一步或返回按钮,它将被更新。

于 2013-07-19T11:25:56.133 回答
1

在尝试使用复选框完成数小时后,我已切换到组合框。使用它们真的很容易,尽管它不像复选框那样漂亮。

这是我的一个组合框的示例(也许有人会觉得它有用):

<Control Type="ComboBox" Id="Excel2007_Combobox" Width="75" Height="14" X="165" Y="114" ComboList="yes" Property="INSTALLEXCEL2007">
     <ComboBox Property="INSTALLEXCEL2007">
           <ListItem Text="No" Value="0" />
           <ListItem Text="Yes" Value="1" />
     </ComboBox>
</Control>

选择一个值后,很容易使用属性“INSTALLEXCEL2007”的值作为条件:

<Publish Dialog="ExcelChooserDlg" Control="ExcelChooser_Accept" Event="SpawnDialog" Value="WarningDlg_NoOfficeVersion" Order="1"><![CDATA[INSTALLEXCEL2007<>"1"]]></Publish>
于 2013-08-05T11:46:09.710 回答