Silverlight 4 中的 RadioButton 数据验证
Posted
技术标签:
【中文标题】Silverlight 4 中的 RadioButton 数据验证【英文标题】:RadioButton Data Validation in Silverlight 4 【发布时间】:2011-09-01 13:42:53 【问题描述】:我有一个表单,其中包含属于同一组的四个单选按钮。用户必须在单击提交按钮之前检查其中一个按钮。有没有办法确保用户选中了一个单选按钮。
【问题讨论】:
【参考方案1】:一般来说,如果它只有 1 个 RadioButtonGroup,我建议您使用一个默认值。因此,您不必验证是否检查了任何内容。
如果我们的 RadioButtonGroup 有超过 2 个选项,我们通常会使用枚举和转换器,如下例所示:
<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 是一个 Enum,并通过使用 System.Enum.Parse(value.GetType(), parameterString, true) 转换为布尔值 (EnumToBooleanConverter)。由于 Enum 不可为空,因此始终检查四个 RadioButtons 之一!
【讨论】:
以上是关于Silverlight 4 中的 RadioButton 数据验证的主要内容,如果未能解决你的问题,请参考以下文章
如何在不实际删除行的情况下明显折叠 Silverlight 4 ListBox 中的单行?
Silverlight 4中的IIS Windows身份验证问题