2013-06-19 2 views
5

Я застрял в этом с помощью кнопки радио группы WIX, я хочу знатьWIX Группа кнопок

  1. Могу ли я в состоянии отключить текстовое поле на основе выбора кнопки радио группы WIX, как упомянуто в изображении ниже.

  2. И как можно сохранить выбор значения группы радиогрупп. Поскольку мне нужно было выбрать значение радиокамера и сохранить в реестре.

для реестра можно присвоить значение 1-го текстового поля на основе этого условия?

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

Может кто-нибудь мне помочь.

WIX Radio group button

ответ

10

Предполагая, что у вас есть радио кнопки следующим образом:

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

вы можете контролировать видимость или availablility других элементов в диалоговом окне с помощью Condition подэлемент:

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

Следуя запросу в комментариях, разместив пример обновления свойства со значениями элементов Edit (некоторые из них требуются Атрибуты управления опущен для ясности):

<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

: Спасибо за answer.Can я смог получить только значение текстового поля на основе выбора, скажем, RadioButton 1st.how это возможно, как я хочу, чтобы сохранить соответствующий? textbox (not radioobutton text) значение, основанное на выборе radobutton. Можете ли вы помочь, как это сделать? – reapen

+0

Создать тип CusomAction 51 (набор свойств) – BBR

+0

Извините, последний комментарий изменился. Вы хотите, чтобы какое-то свойство P имело значение либо текстового управления A, либо текстового элемента управления B на основе значения выбора в переключателе R. Подключите управление A с свойством AA, управление B с свойством BB. Создайте два типа действия Cusom 51 (набор свойств), который будет устанавливать P в AA, если R = «0» и P до BB, если R = «1». Вызовите эти два пользовательских действия на кнопке «Далее», используя субэлемент Publish Event = «DoAction». Сообщите мне, если вам нужно полное решение. – BBR

Смежные вопросы