public void UpdateAdorner(bool bHasExpression, bool bHasConfiguration) { if (!bHasExpression && !bHasConfiguration) { DetachAdorner(); return; } if (this.m_adornerLayer != null) { if (this.m_adorner == null) { this.m_adorner = this; m_adorner.Tag = this.m_tag; this.m_adornerLayer.Add(this.m_adorner); } m_adorner.Images.Clear(); System.Windows.Media.Imaging.BitmapSource s_Icon; if (bHasExpression && bHasConfiguration) { s_Icon = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ExpressionColor, ExpressionHighlighterPlugin.ConfigurationColor); m_adorner.ToolTip = "Controlled by expression and configuration"; } else if (bHasExpression) { s_Icon = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ExpressionColor); m_adorner.ToolTip = "Controlled by expression"; } else { s_Icon = HighlightingToDo.GetBitmapSource(ExpressionHighlighterPlugin.ConfigurationColor); m_adorner.ToolTip = "Controlled by configuration"; } m_adorner.Images.Add(new Tuple <Point, System.Windows.Media.ImageSource>(GetImagePosition(), s_Icon)); m_adorner.InvalidateVisual(); this.m_adornerLayer.UpdateLayout(); } }