0

我试图隐藏/显示特定元素的装饰器:

1)试图隐藏装饰元素,但没有成功。

2)通过使用以下代码,但是当我将其应用于特定元素时,所有其他装饰器都被隐藏(元素放置在不同的画布上)。

Public Shared Sub ChangeAdornerLabelLineVisibility(ByRef line As Line, ByVal isAdornerVisible As Boolean)

    Dim lineAdornerLayer As AdornerLayer

    Try

        lineAdornerLayer = AdornerLayer.GetAdornerLayer(line)

        If isAdornerVisible Then

            lineAdornerLayer.Visibility = Windows.Visibility.Visible

        Else

            lineAdornerLayer.Visibility = Windows.Visibility.Hidden

        End If

    Catch

    End Try

End Sub

如何隐藏特定元素的装饰器?

4

1 回答 1

3

你不应该隐藏装饰层,而是应该从装饰层中移除装饰层,它就会消失。

例如,您有一个如下所示的装饰器

LineAdorner adorner = new LineAdorner();
lineAdornerLayer = AdornerLayer.GetAdornerLayer(line)
//To Show the Adorner
lineAdornerLayer.Add(adorner);
//To hide the Adorner
lineAdornerLayer.Remove(adorner);

抱歉,我使用了 c# 语法,我相信您可以将其转换为 vb。让我知道是否有任何问题

于 2014-05-30T08:34:38.070 回答