2013-06-19 16 views
5

mi sono bloccato nel fare con WiX pulsante di gruppo radio, voglio sapereWIX gruppo pulsante di scelta

  1. se posso in grado di disabilitare casella di testo in base alla selezione di WIX pulsante del gruppo della radio come menzionato nell'immagine sotto.

  2. E come è possibile salvare la selezione del valore del pulsante del gruppo radio. Come ho avuto bisogno del valore della casella radio selezionato e salvato nel registro.

per il Registro di sistema è possibile assegnare il valore della prima casella di testo in base a questa condizione?

<Condition><![CDATA[if (RADIOGROUP=1)<Property Id="RADIOGROUP" Value="[TEXTBOX1]" />]]></Condition> 
    <RegistryKey Root="HKLM" Key="SOFTWARE\Company\Service" > 
    <RegistryValue Name="RADIOGROUP" Value="[RADIOGROUP]" Type="string" > 
        </RegistryKey> 

Qualcuno può aiutarmi.

WIX Radio group button

risposta

10

Supponendo di avere il pulsante radio come segue:

<RadioButtonGroup Property="SOME_PROPERTY"> 
    <RadioButton Value="0" Text="disable/hide labels" /> 
    <RadioButton Value="1" Text="enable/show labels" /> 
</RadioButtonGroup> 

è possibile controllare la visibilità o di ricorso ai meccanismi di altri elementi nella finestra di dialogo utilizzando Condition sotto-elemento:

<Control Id="SomeLabel" Type="Text" Text="text:"> 
    <Condition Action="disable"><![CDATA[SOME_PROPERTY <> "1"]]></Condition> 
    <Condition Action="enable"><![CDATA[SOME_PROPERTY = "1"]]></Condition> 
</Control> 

<Control Id="SomeLabel2" Type="Text" Text="text2:"> 
    <Condition Action="hide">SOME_PROPERTY = "0"></Condition> 
    <Condition Action="show">SOME_PROPERTY = "1"></Condition> 
</Control> 

In seguito alla richiesta nei commenti, postando un esempio di aggiornamento della proprietà con i valori degli elementi Edit (alcuni richiesti attributi di controllo sono ommited per chiarezza):

<CustomAction Id="CA_SET_TO_A" Property="P" Value="[AA]" /> 
<CustomAction Id="CA_SET_TO_B" Property="P" Value="[BB]" /> 

<Dialog Id="MyDialog" Title="[ProductName] Setup"> 
    <Control Id="Next" Type="PushButton" Default="yes" Text="!(loc.WixUINext)"> 
     <Publish Event="DoAction" Value="CA_SET_TO_A">R="USE_A"</Publish> 
     <Publish Event="DoAction" Value="CA_SET_TO_B">R="USE_B"</Publish> 
    </Control> 

    <Control Id="MyRadioButton" Type="RadioButtonGroup" Property="R"> 
     <RadioButtonGroup Property="R"> 
      <RadioButton Value="USE_A" Text="Save text field 1" /> 
      <RadioButton Value="USE_B" Text="Save text field 2" /> 
     </RadioButtonGroup> 
    </Control> 

    <Control Id="A" Type="Edit" Property="AA" Text="{64}"> 
     <Condition Action="disable">R="USE_B"</Condition> 
     <Condition Action="enable">R="USE_A"</Condition> 
    </Control> 
    <Control Id="B" Type="Edit" Property="BB" Text="{64}"> 
     <Condition Action="disable">R="USE_A"</Condition> 
     <Condition Action="enable">R="USE_B"</Condition> 
    </Control> 
</Dialog> 
+0

: Grazie per l'answer.Can i in grado di ottenere solo il valore di testo in base alla selezione di dire radioButton 1st.how è che possibile come voglio salvare il corrispondente? valore textbox (non radiobutton) basato sulla selezione del radiobutton. Puoi aiutare come fare? – reapen

+0

Crea un tipo CusomAction 51 (insieme di proprietà) – BBR

+0

Siamo spiacenti, l'ultima modifica per il commento è scaduta. Si desidera che la proprietà P abbia il valore del controllo testo A o del controllo testo B, in base al valore della selezione nel pulsante di opzione R. Collegare il controllo A con la proprietà AA, il controllo B con la proprietà BB. Crea due azioni Cusom tipo 51 (insieme di proprietà) che imposterà P in AA se R = "0" e P in BB se R = "1". Chiama queste due azioni personalizzate sul pulsante "Avanti" utilizzando Publish Event = "DoAction" sottoelemento. Dimmi se hai bisogno della soluzione completa. – BBR

Problemi correlati