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");
        }
    }
}
相关文章
|
Python
【tkinter学习笔记 - 3】:Radiobutton单选按钮、Checkbutton复选按钮
【tkinter学习笔记 - 3】:Radiobutton单选按钮、Checkbutton复选按钮
193 0
【tkinter学习笔记 - 3】:Radiobutton单选按钮、Checkbutton复选按钮
|
前端开发
MVVM模式下 DataTemplate 中控件的绑定
原文:MVVM模式下 DataTemplate 中控件的绑定   今天给ListBox中通过DataTemplate生成的Button绑定命令时,一开始Button始终找不到绑定的命令。现找到了正确的绑定方式,特来记录一下。
1766 0
|
C#
WPF 自定义CheckBox样式
自定义的CheckBox样式,mark一下,方便以后参考复用 模板 一般CheckBox模板太难看了,所以肯定要重写其中的模板ControlTemplate 外边框 俩个Rectangle,用于定义复选框选中/未选中时的背景色和边框样式 对勾√ 通过俩个path组合,并控制其显示,用于定义选中状态 选中状态 模板状态为未选中状态和选中状态,设置为默认未选中就好了。
2948 0
SwiftUI—Button按钮控件的使用
SwiftUI—Button按钮控件的使用
514 0
SwiftUI—Button按钮控件的使用
|
前端开发
MVVM里绑定TreeView控件的SelectedItem
原文:MVVM里绑定TreeView控件的SelectedItem 来源:http://stackoverflow.com/questions/9143107/get-selected-treeviewitem-using-mv...
1054 0
|
前端开发
MVVM 下 ContextMenu的命令绑定
原文:MVVM 下 ContextMenu的命令绑定   由于ContextMenu不继承父级的DataContext,所以如果要绑定父级的DataContext,直接DataContext=“{Binding}”是行不通的。
1227 0
|
数据库 算法 缓存