Silverlight 4中的RadioButton数据验证

时间:2011-05-25 08:30:30

标签: silverlight validation silverlight-4.0 radio-button

我有一个包含四个属于同一组的单选按钮的表单。用户必须在单击提交按钮之前检查其中一个按钮。有没有办法确保用户选中了一个单选按钮。

1 个答案:

答案 0 :(得分:0)

一般情况下,如果只有1个RadioButtonGroup,我会建议您使用默认的。因此,您无需验证是否检查了任何内容。

如果我们有一个包含2个以上选项的RadioButtonGroup,我们通常会使用枚举和转换器,如下例所示:

<StackPanel>
    <RadioButton Content="Yes"
                 Padding="5,0"
                 IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Yes}"
                 GroupName="Existing" />
    <RadioButton Content="InProgress"
                 Margin="5,0"
                 Padding="5,0"
                 IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Pending}"
                 GroupName="Existing" />
   <RadioButton Content="No"
                 Margin="5,0"
                 Padding="5,0"
                 IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=No}"
                 GroupName="Existing" />
</StackPanel>

请注意,Existing是一个枚举,并使用System.Enum.Parse(value.GetType(),parameterString,true)转换为布尔值(EnumToBooleanConverter)。由于Enum不可为空,因此一直检查四个RadioButtons中的一个!