wpf之数据触发器DataTrigger
2015-09-13 11:18
204 查看
wpf, 根据绑定的属性的值的不同(数据分类),界面上显示不同的控件(绑定不同类型的属性),可以使用数据库触发器DataTrigger实现这一功能。
实现的效果如下:
View Code
运行效果:
实现的效果如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Collections.ObjectModel; using DataTriggerDemo.Models; namespace DataTriggerDemo { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { private ObservableCollection<CheckRecord> checkRecords; /// <summary> /// 生产前的检查记录集合 /// </summary> public ObservableCollection<CheckRecord> CheckRecords { get { if (checkRecords == null) { checkRecords = new ObservableCollection<CheckRecord>(); } return checkRecords; } } public MainWindow() { InitializeComponent(); GetData(); } private void GetData() { CheckRecord c1 = new CheckRecord { CheckId=Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId=Guid.NewGuid(), SeqNo=1, CheckItem = "操作间已清场合格,并在有效期内。", CheckType=1 } }; CheckRecords.Add(c1); CheckRecord c2 = new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo = 2, CheckItem = "操作间已清洁,并无上次生产遗留物;无与本次生产无关文件。", CheckType = 1 } }; CheckRecords.Add(c2); CheckRecord c3 = new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo = 3, CheckItem = "所用设备、容器具已清洁消毒,且无上批次生产遗留物;已更换干净的抹布。", CheckType = 1 } }; CheckRecords.Add(c3); CheckRecord c4 = new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo = 4, CheckItem = "所用的计量器具符合要求,在检验有效期内。", CheckType = 1 } }; CheckRecords.Add(c4); CheckRecord c5= new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo = 5, CheckItem = "所用物料合格且标签相关信息与指令要求相一致:使用的文件与记录已备案。", CheckType = 1 } }; CheckRecords.Add(c5); CheckRecord c6 = new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo =6, CheckItem = "操作间环境符合要求(温度18~26°C,湿度45~65%)。", CheckType =2 } }; CheckRecords.Add(c6); CheckRecord c7= new CheckRecord { CheckId = Guid.NewGuid(), CheckDefine = new CheckDefine { CheckDefineId = Guid.NewGuid(), SeqNo = 7, CheckItem = "所用设备完好,试运转正常;设备操作人员均持证上岗。", CheckType =3 } }; CheckRecords.Add(c7); } } }
View Code
运行效果:
相关文章推荐
- android EditText 设置密码锁源码
- 一篇很详细的Freemarker讲解(小demo、Servlet中运用、freemarker语言的各种)
- 四层和七层负载均衡
- Github for Windows使用介绍
- java设计模式系列--外观模式
- JavaScript权威指南_157_第17章_事件处理_17.0-概述
- 《他的国》读后感
- iOS属性修饰符
- 安卓开发问题及其解决
- 的问题上,下数
- 【转载】2015年8月编程语言排行榜:Java遥遥领先
- php的时间输出格式
- ENOB测试程序
- Android Fragment
- Android4.4的zygote进程(上)
- 关于MPAndroidChart柱状图左右滑动
- 【Direct3D】Mesh part
- 软件测试管理知识点总结 (三)
- 其它
- 最值得关注的10个C开源项目