方法: 要素から装飾を削除する

この例では、指定された UIElement から特定の装飾をプログラムで削除する方法を示します。

UIElement で装飾を取得する

この詳細なコード例では、GetAdorners によって返される装飾の配列に含まれる最初の装飾を削除します。 この例では、myTextBox という名前の UIElement の装飾を取得します。 GetAdorners の呼び出しで指定された要素に装飾がない場合、null が返されます。 このコードによって、Null 配列が明示的にチェックされます。これは、Null 配列が比較的一般的であると予想されるアプリケーションに最適です。

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

この簡約されたコード例は、上記の詳細な例と機能的には同等です。 このコードでは、Null 配列が明示的にチェックされないため、NullReferenceException の例外が発生する可能性があります。 このコードは、Null 配列がまれであると予想されるアプリケーションに最適です。

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

関連項目