2013-06-19 43 views
5

我被困在维克斯单选按钮组按钮做的,我想知道WIX单选按钮组

  1. 我是否可以能够根据维克斯单选按钮组按钮的选择禁用文本框状的图像中提到的下面。

  2. 怎样才能保存电台组按钮值的选择。当我需要选定的收音机框值并保存在注册表中。

对于注册表是否可以根据此条件分配第一个文本框值?

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

您可以通过使用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是尽可能我要保存相应的?文本框(不是单选按钮文本)值的基础上选择radiobutton.Can你帮助如何做? – reapen

+0

创建一个CusomAction类型51(属性集) – BBR

+0

对不起,最后的评论编辑超时。 基于单选按钮R中的选择值,您希望某个属性P具有文本控件A或文本控件B的值。将控件A与属性AA连接,将控件B与属性BB连接。创建两个Cusom动作类型51(属性集),如果R =“0”,则将P设置为AA,如果R =“1”,则将P设置为BB。使用Publish Event =“DoAction”子元素在“Next”按钮上调用这两个自定义操作。 如果您需要完整的解决方案,告诉我。 – BBR