此示例演示如何以编程方式从指定的 UIElement 中删除特定装饰器。
检索 UIElement 上的装饰器
此详细代码示例删除由 GetAdorners返回的装饰器数组中的第一个装饰器。 此示例用于检索名为 myTextBox 的UIElement上的装饰器。 如果调用 GetAdorners 中指定的元素没有装饰器, 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