Gewusst wie: Entfernen eines Adorners aus einem Element

In diesem Beispiel wird gezeigt, wie Sie programmgesteuert einen bestimmten Adorner aus einem angegebenen UIElement entfernen.

Abrufen eines Adorners in einem UIElement

In diesem ausführlichen Codebeispiel wird der erste Adorner im Array der von GetAdorners zurückgegebenen Adorner entfernt. In diesem speziellen Beispiel werden die Adorner in einem UIElement namens myTextBox abgerufen. Wenn an das im Aufruf von GetAdorners angegebene Element keine Adorner gebunden sind, wird null zurückgegeben. Dieser Code sucht explizit nach einem NULL-Array und eignet sich am besten für Anwendungen, bei denen ein NULL-Array erwartbar ist.

Adorner[] toRemoveArray = myAdornerLayer.GetAdorners(myTextBox);
Adorner toRemove;
if (toRemoveArray != null)
{
  toRemove = toRemoveArray[0];
  myAdornerLayer.Remove(toRemove);
}
Dim toRemoveArray() As Adorner = myAdornerLayer.GetAdorners(myTextBox)
Dim toRemove As Adorner
If toRemoveArray IsNot Nothing Then
  toRemove = toRemoveArray(0)
  myAdornerLayer.Remove(toRemove)
End If

Beispiel

Dieses komprimierte Codebeispiel entspricht funktionell dem oben gezeigten ausführlichen Beispiel. Dieser Code überprüft nicht explizit auf ein NULL-Array, daher ist es möglich, dass eine NullReferenceException-Ausnahme ausgelöst wird. Dieser Code eignet sich am besten für Anwendungen, bei denen ein NULL-Array selten ist.

try { myAdornerLayer.Remove((myAdornerLayer.GetAdorners(myTextBox))[0]); } catch { }
Try
    myAdornerLayer.Remove((myAdornerLayer.GetAdorners(myTextBox))(0))
Catch
End Try

Weitere Informationen