C# 如果父网格/面板不再可见,如何删除文本框的装饰器

C# 如果父网格/面板不再可见,如何删除文本框的装饰器,c#,wpf,adorner,C#,Wpf,Adorner,我用一些装饰物“制作了我自己的”文本框 如果.Text值为空,则第一个装饰器将在其中显示“Title” 如果输入错误,第二个将突出显示红色边框 工作正常,但现在我有一个例子,我的文本框在一个网格内,从启动时就不可见了。。我不使用“创建新对话框”,而是在主窗口中将此网格显示为“弹出窗口”。。工作也很好 但是如果我把这个格子拆开,装饰工就会留在那里 文本框如何才能看到它的父面板不再可见???也许您可以使用-方法遍历VisualTree 如果您找到了网格,请收听它的IsVisibleChanged事件

我用一些装饰物“制作了我自己的”文本框

如果.Text值为空,则第一个装饰器将在其中显示“Title”

如果输入错误,第二个将突出显示红色边框

工作正常,但现在我有一个例子,我的文本框在一个网格内,从启动时就不可见了。。我不使用“创建新对话框”,而是在主窗口中将此网格显示为“弹出窗口”。。工作也很好

但是如果我把这个格子拆开,装饰工就会留在那里


文本框如何才能看到它的父面板不再可见???

也许您可以使用-方法遍历VisualTree

如果您找到了网格,请收听它的IsVisibleChanged事件


Greetigns也有这个想法,但如果这是第三个“面板”,它将被折叠。。解决方法是搜索所有“面板”。。不是很好,但会起作用。好的,那么你的文本框的IsVisible属性是什么呢?我想如果文本框没有呈现,它应该返回false。我想我已经尝试过了,但似乎没有..=/很抱歉太简单了!谢谢:)