我有一个包含四个属于同一组的单选按钮的表单。用户必须在单击提交按钮之前检查其中一个按钮。有没有办法确保用户选中了一个单选按钮。
答案 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中的一个!