Группа кнопок 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

1 ответ

Решение

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

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

Вы можете контролировать видимость или доступность других элементов в диалоге, используя 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>
Другие вопросы по тегам