您的位置:首页 > 其它

wpf之数据触发器DataTrigger

2015-09-13 11:18 204 查看
wpf, 根据绑定的属性的值的不同(数据分类),界面上显示不同的控件(绑定不同类型的属性),可以使用数据库触发器DataTrigger实现这一功能。

实现的效果如下:

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

运行效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: