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 导航应用程序中的页面身份验证

如何在不实际删除行的情况下明显折叠 Silverlight 4 ListBox 中的单行?

分析 Silverlight 4

Silverlight 4中的IIS Windows身份验证问题

Silverlight 4 和 Windows Phone 7 的 Bing 地图控件中的交互式图层

Silverlight 4 - 锦标赛风格视图(淘汰赛,树)