2014-09-05 2 views
0

У меня есть «сделанный мой» TextBox с некоторыми Adorners.Как удалить Adorner TextBox, если родительская сетка/панель больше не видна

Первый Adorner отобразит «Заголовок» в нем, если .Text значение пуст.

Второй подсветит границы красным, если вход неправильно ..

работает хорошо, но теперь у меня есть дело, что MyTextBox находится в пределах сетки, которая будет невидим запуска .. вместо " создайте новый диалог «Я сделаю эту сетку видимой как« всплывающее окно »в главном окне .. тоже хорошо работает!

но если я свернуть этот грид, то Adorner будет оставаться там ..

как TextBox можно увидеть, что это родительская панель не видна больше ??

ответ

2

Возможно, вы выполните итерацию через VisualTree с помощью метода VisualTreeHelper.getParent() -Method.

Если вы нашли свою сетку, послушайте ее IsVisibleChanged-Event.

Greetigns

+0

была эта идея тоже, но что, если его третьей «панели», которая будет разрушилась .. обходной путь только сейчас искать все «панели» .. не очень хорошо, но будет работать .. – mxii

+1

Хорошо, и что относительно IsVisible-Свойство вашего TextBox? Я думаю, что он должен возвращать false, если текстовое поле не отображается. –

+1

Я думал, что попробовал, но кажется, что я не .. =/извините! было так просто ..! Спасибо :) – mxii