WPF一组Radio与enum绑定
工作中用到了一组RadioButton对应一组数据的情况,这个时候最好能将一组RadioButton绑定Enum。
步骤
1.MyControl库中Type.cs中定义Enum
namespace MyControl.MyRadioButton
{
public enum Type { A, B, C, }
}
2.MyUseControl的ViewModel文件夹下testViewModel.cs中
private Type m_myType;
public Type MyType
{
get{ return m_myType;}
set
{
if(m_myType != value) { m_myType = value; }
}
}
3.MyUserControl的Converses文件夹下Enum2BoolConverter.cs中
class Enum2BoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value == null ? false : value.Equals(parameter);
} public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value != null && value.Equals(true) ? parameter : Binding.DoNothing;
}
}
4.在test.xaml文件中需要引用MyControl库
xmlns:locals="clr-namespace:MyControl.MyRadioButton;assembly=MyControl"
<!--引用Converses命名空间-->
xmlns:converter="clr-namespace:MyUseControl.Converters"
<UserControl.Resources>
<converter:Enum2BoolConverter x:Key="enum2BoolConverter" />
</UserControl.Resources>
5.test.xaml文件中RadioButton的IsChecked属性中
IsChecked="{Binding MyType,
Converter={StaticResource enum2BoolConverter},
ConverterParameter={x:Static locals:Type.A}
}"
WPF一组Radio与enum绑定的更多相关文章
- 设置为互斥按钮的一组Radio按钮的用法
设置为互斥按钮的一组Radio,只需要将第一个Radio的Group属性设置为True,并为之映射变量(DDX),其余radio的Group属性设置为False,不需要映射变量. 否则会出现不是互斥按 ...
- [No000012E]WPF(6/7):概念绑定
WPF 的体系结构,标记扩展,依赖属性,逻辑树/可视化树,布局,转换等.今天,我们将讨论 WPF 最重要的一部分——绑定.WPF 带来了优秀的数据绑定方式,可以让我们绑定数据对象,这样每次对象发生更改 ...
- Visual Studio中Radio Button组绑定变量方法(DDX_Radio方法)
需求描述:Visual Studio 创建的界面程序中又许多 Radio Button,希望这些所有的Radio Button统一绑定到一个变量上,这个变量一旦改变,Radio Button的选中状态 ...
- WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配
原文:WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配 WPF Toolkit AutoCompleteBox 实体类绑定 关键字自定义关联搜索匹配 网上的 ...
- WPF DataGrid 双击行 获得绑定数据
原文:WPF DataGrid 双击行 获得绑定数据 1)增加事件 2)增加对象获取 1)事件代码 Datagrid 增加事件 MouseDoubleClick="dataGrid_Mous ...
- WPF DATAGrid 空白列 后台绑定列 处理
原文:WPF DATAGrid 空白列 后台绑定列 处理 AutoGenerateColumns <DataGrid x:Name="dataGrid" Margin=&qu ...
- 总结:WPF中MultiBinding多值绑定的方法
原文:总结:WPF中MultiBinding多值绑定的方法 一.Xaml中绑定代码: <TextBlock Grid.Row="5" Grid.Column="3 ...
- WPF Radio组的绑定
都是控件编,RadioButtion 简单绑定使用,model.cs下边定义属性 private int _isSuccess; public int IsSuccess { get { return ...
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
随机推荐
- 【读书笔记】segment routing mpls数据平面-1
- linux 安装 kafka&zookeeper
安装kafka 1,下载kafka. #cd /usr/local #wget wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1 ...
- step_by_step_CSRF/ XSRF_问题描述
接触Asp.net boilerplate 一段时间,一次同事将他的代码添加到zero项目模板中,他将路由配置成他的页面,目的是要让zero项目登录成功之后跳转到他的页面,可是通过fiddler监视请 ...
- mysql学习笔记--遇到的坑
一.navcat 连接不支持密码输入 1. 先通过命令行进去mysql的root账户 mysql -uroot -p'password' 2. 更改加密方式 alter user 'root'@'lo ...
- PowerScript SQL语句
PowerScript支持在脚本中使用标准的嵌入式SQL和动态SQL语句.还支持在SQL语句中使用数据库管理系统的语句.函数和保留字. 在SQL中任何地点都可以使用常量和任何合法的变量,但使用变量时必 ...
- layui---十分适用于PC端后台的框架
1.关闭当前页面: top.$(".layui-tab-title").find("li.layui-this>i").click(); 2.调用指定ID ...
- vue实例的生命周期
Vue实例的生命周期也就是这个实例从出生到死亡的过程,所以我在文档原图上把这个周期大致分为创建过程 | 运行过程 | 销毁过程三个阶段,不同结果或又分为一些小的阶段 在第一个阶段,创建阶段,会完成Vu ...
- UI交互设计关键词:情感化设计与心理
情感化设计,一定有一个关键词.情感,是指人对周围事物和自身以及对自己行为的态度,它是人对客观事物的一种特殊的反映形式,是主体对外界刺激给予肯定或否定的心理反应,也是对客观事物是否符合自己需要的态度或体 ...
- django2.0 + python3.6 在centos7 下部署生产环境的一些注意事项
一:mysql 与环境选用的坑 目前, 在生产环境部署django有三种方式: 1. apache + mod_wsgi 2. nginx + uwsigi 3. nginx + supervisor ...
- 【第一次作业】&&软件工程大一班---甘昀
这个作业属于哪个课程: <课程的链接点这里> 这个作业要求在哪里: <作业要求的链接点这里> 我在这个课程的目标是: 学会软件开发的流程和思想 这个作业在哪个具体方面帮助我 ...