2013-07-19 83 views
0

我很難找到如何在取消選擇時更改複選框(=屬性)的值。如何更改取消選擇的複選框值?

什麼I`ve走到這一步:

<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將獲得價值1,如果用戶檢查它。 現在,如果未選中,值仍然爲1。意思是,每次點擊複選框將值1分配給該屬性。

有什麼辦法可以有「未檢查的價值」?

我已經試過this,但它在我的情況下沒有效果。

回答

1

如果用戶取消選中該複選框,該屬性將被刪除或其值變爲空。您可以使用下面的取消選中條件。

INSTALLEXCEL2007 <> 1 

如果您在使用文本控件測試在對話框中的複選框屬性值(檢查和取消),它不會得到更新。您需要發佈該屬性,或者如果您單擊下一個或後退按鈕,它將被更新。

+0

請問您能更具體嗎? 我必須在哪裏發佈該房產?在'control'標籤下? –

+0

試試這個。 http://stackoverflow.com/questions/4241863/wix-interactions-with-conditions-properties-custom-actions – Vinoth

1

經過幾個小時試圖用複選框完成它,我已切換到組合框。 它使用起來非常簡單,雖然它不像使用複選框那樣美觀。

Here`s我的組合框一個(也許有人會發現它很有用)的例子:

<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>