RadioButton单选框的绑定问题(MVVM)

简介: RadioButton单选框的绑定问题(MVVM)

XAML

<RadioButton GroupName="condition"
             IsChecked="{Binding CurrentOption,Converter={StaticResource OptionConverter},ConverterParameter=全部}">全部</RadioButton>
<RadioButton GroupName="condition"Margin="10,0,0,0" 
             IsChecked="{Binding CurrentOption,Converter={StaticResource OptionConverter},ConverterParameter=内墙}">内墙</RadioButton>
<RadioButton GroupName="condition" Margin="10,0,1,0" 
             IsChecked="{Binding CurrentOption,Converter={StaticResource OptionConverter},ConverterParameter=外墙}">外墙</RadioButton>

转换器

public class OptionConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value == null || parameter == null)
            return false;
        string checkvalue = value.ToString();
        string targetvalue = parameter.ToString();
        bool r = checkvalue.Equals(targetvalue, StringComparison.InvariantCultureIgnoreCase);
        return r;
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value == null || parameter == null)
            return "全部";
        bool usevalue = (bool)value;
        if (usevalue)
            return parameter.ToString();
        return null;
    }
}

ViewModel

private string currentOption;
public string CurrentOption
{
    get { return currentOption; }
    set
    {
        if (currentOption != value)
        {
            currentOption = value;
            OnPropertyChanged("CurrentOption");
        }
    }
}
相关文章
|
4月前
|
C++
C++ Qt开发:RadioButton单选框分组组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`QRadioButton`单选框组件以及与之交互的`QButtonGroup`类的常用方法及灵活运用。`QRadioButton`是Qt框架中的一个部件(Widget),用于提供单选按钮的界面元素。单选按钮允许用户从多个互斥的选项中选择一个,通常用于表示一组相关但互斥的选项。
61 0
C++ Qt开发:RadioButton单选框分组组件
|
4月前
|
C++
C++ Qt开发:CheckBox多选框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`CheckBox`单行输入框组件的常用方法及灵活运用。`QCheckBox` 是 Qt 中用于实现复选框的组件,它提供了丰富的功能和灵活性。与之前文章中的`RadioButton`组件不同,`CheckBox`组件支持多项选择以及三态支持,即可以是选中、未选中或半选中的状态。
43 0
C++ Qt开发:CheckBox多选框组件
|
8月前
|
XML Android开发 数据格式
Android CheckBox 复选框(自定义复选框)
Android CheckBox 复选框(自定义复选框)
239 0
|
前端开发
MVVM模式下 DataTemplate 中控件的绑定
原文:MVVM模式下 DataTemplate 中控件的绑定   今天给ListBox中通过DataTemplate生成的Button绑定命令时,一开始Button始终找不到绑定的命令。现找到了正确的绑定方式,特来记录一下。
1620 0
|
C# 存储
WPF 实现跑马灯效果的Label控件,数据绑定方式实现
原文:WPF 实现跑马灯效果的Label控件,数据绑定方式实现 项目中需要使用数据绑定的方式实现跑马灯效果的Label,故重构了Label控件;具体代码如下 using System; using System.
2288 0
|
前端开发
MVVM里绑定TreeView控件的SelectedItem
原文:MVVM里绑定TreeView控件的SelectedItem 来源:http://stackoverflow.com/questions/9143107/get-selected-treeviewitem-using-mv...
1005 0
|
前端开发
MVVM 下 ContextMenu的命令绑定
原文:MVVM 下 ContextMenu的命令绑定   由于ContextMenu不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的。
1174 0
|
数据库 算法 缓存