private static void MessageCountChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { MessageView owner = (MessageView)d; owner.tb.Inlines.Clear(); //System.Diagnostics.Debugger.Break(); }
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()); } }