List<PatientModel> ls = new List<PatientModel> ();
DataGrid.ItemsSource = ls;
ls[0].PrintBackground="green";
在代码中修改ls中的PrintBackground内容,即可在界面上看到
using aaa.Common;
using System;
using System.Collections.Generic;
using System.Text;
namespace aaa.Model
{
public class PatientModel:NotifyPropertyBase
{
public string ID { get; set; }
// 用于DataGrid 背景,标注已打印,
private string _PrintBackground;
// 重点 属性设置为通知属性即可
public string PrintBackground
{
get { return _PrintBackground; }
set
{
_PrintBackground = value;
this.Notify();
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
namespace aaa.Common
{
public class NotifyPropertyBase : INotifyPropertyChanged, IDataErrorInfo
{
private Dictionary<String, String> dataErrors = new Dictionary<string, string>();
public string this[string columnName]
{
get
{
ValidationContext vc = new ValidationContext(this);
vc.MemberName = columnName;
var res = new List<ValidationResult>();
var result = Validator.TryValidateProperty(this.GetType().GetProperty(columnName).GetValue(this), vc, res);
if (res.Count > 0)
{
AddDic(dataErrors, vc.MemberName);
return string.Join(Environment.NewLine, res.Select(r => r.ErrorMessage).ToArray());
}
RemoveDic(dataErrors, vc.MemberName);
return null;
}
}
#region 附属方法
/// <summary>
/// 移除字典
/// </summary>
/// <param name="dics"></param>
/// <param name="dicKey"></param>
private void RemoveDic(Dictionary<String, String> dics, String dicKey)
{
dics.Remove(dicKey);
}
/// <summary>
/// 添加字典
/// </summary>
/// <param name="dics"></param>
/// <param name="dicKey"></param>
private void AddDic(Dictionary<String, String> dics, String dicKey)
{
if (!dics.ContainsKey(dicKey)) dics.Add(dicKey, "");
}
#endregion
public string Error => null;
public bool IsValided
{
get
{
return this.dataErrors == null || this.dataErrors.Count == 0;
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void Notify([CallerMemberName] string propName = "")
{
if (PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
}
}
List<PatientModel> ls = new List<PatientModel> ();DataGrid.ItemsSource = ls;在代码中修改ls中的PrintBackground内容,即可在界面上看到using aaa.Common;using System;using System.Collections.Generic;using System.Text;namespace aaa.Model{ public cla...