private static void MessagesChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { MessageView owner = (MessageView)d; Base.Interfaces.IMessage mess = e.NewValue as Base.Interfaces.IMessage; Run r = new Run(); if (mess is Base.Interfaces.IErrorMessage) { Base.Interfaces.IErrorMessage err = mess as Base.Interfaces.IErrorMessage; r.Text = err.ToString(); owner.tb.Inlines.Add(r); if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Severe)) { owner.tb.Inlines.Last().Foreground = owner._errorColors[5]; } else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Fatal)) { owner.tb.Inlines.Last().Foreground = owner._errorColors[4]; } else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Major)) { owner.tb.Inlines.Last().Foreground = owner._errorColors[3]; } else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Minor)) { owner.tb.Inlines.Last().Foreground = owner._errorColors[2]; } else if (err.ErrorLevel.HasFlag(Base.Enumerations.ErrorLevel.Info)) { owner.tb.Inlines.Last().Foreground = owner._errorColors[1]; } } else { r.Text = mess.Message; owner.tb.Inlines.Add(r); } if (owner.tb.Inlines.Count() > owner.MessageCount) { owner.tb.Inlines.Remove(owner.tb.Inlines.First()); } }
public void SetErrors(Dictionary <string, Base.Interfaces.IPropertyRule> ruleMap) { Base.Interfaces.IMessage imsg = null; int messageCount = ruleMap.Values.Count(); MessageCounter = messageCount; foreach (Base.Interfaces.IPropertyRule r in ruleMap.Values) { string msg = ""; if (r.ErrorLevel > Base.Enumerations.ErrorLevel.Unassigned) { foreach (string m in r.Errors) { msg += m; } imsg = new Model.Messaging.ErrorMessage(msg, r.ErrorLevel); IMessage = imsg; } } }