private void UpdateAdorner(FrameworkElement elem) { if (((ShadowedTextBox)elem).HasText || elem.IsFocused) { // Hide the Shadowed Label this.ToolTip = this.Label; myAdornerLayer.RemoveAdorners <AdornerLabel>(elem); // requires AdornerExtensions.cs } else { // Show the Shadowed Label this.ToolTip = null; if (!myAdornerLayer.Contains <AdornerLabel>(elem)) // requires AdornerExtensions.cs { myAdornerLayer.Add(myAdornerLabel); } } }