使用一组 RadioButton 作为选择器

Posted

技术标签:

【中文标题】使用一组 RadioButton 作为选择器【英文标题】:Using a set of RadioButton as selector 【发布时间】:2013-08-22 13:13:23 【问题描述】:

我有 4 个RadioButtons 和一个方法,我希望根据所选的RadioButton 表现出不同的行为。我怎么能做这个简单的任务?我应该将每个IsChecked 状态绑定到我的ViewModel 中的一个布尔值还是有更好的方法?

我认为,如果我有更多不同的选项,我会使用 ComboBox 并将其选定的索引绑定到我的 ViewModel 中的 int 属性。

【问题讨论】:

How to get the value of the checked radiobutton in wpf的可能重复 【参考方案1】:

我建议为这些选项创建一个枚举:

public enum MyOptions

    Option1,
    Option2,
    Option3

然后在 ViewModel 中创建一个属性,该属性包含来自此 Enum 的值:

public class MyViewModel

    public MyOptions SelectedOption get;set; //NotifyPropertyChange() is required.

然后使用EnumToBoolConverter绑定这些RadioButtons

<RadioButton IsChecked="Binding SelectedOption, Converter=StaticResource EnumToBoolConverter, ConverterParameter=Option1"/>
<RadioButton IsChecked="Binding SelectedOption, Converter=StaticResource EnumToBoolConverter, ConverterParameter=Option2"/>
<RadioButton IsChecked="Binding SelectedOption, Converter=StaticResource EnumToBoolConverter, ConverterParameter=Option3"/>

然后,您通过 ViewModel 中的简单 switch 确定选择哪个选项:

public void SomeMethod()

   switch (SelectedOption)
   
      case MyOptions.Option1:
           ...
      case MyOptions.Option2:
           ...
      case MyOptions.Option3:
           ...
   

【讨论】:

以上是关于使用一组 RadioButton 作为选择器的主要内容,如果未能解决你的问题,请参考以下文章

鸿蒙App开发(11)---RadioButton与RadioContainer组件

Android RadioButton textColor 选择器

Delphi 2009 RAD Studio - 桌面选择器不工作

Telerik rad 日期选择器在用户键入未来日期时显示错误消息

RadioButton(单选按钮)

如何使用Font Awesome图标作为单选按钮按钮