Стили ошибок WPF корректно отображаются только на видимой вкладке элемента управления вкладкой
У меня есть объект данных, используемый для хранения данных пользовательского интерфейса, который поддерживаетINotifyPropertyChanged
а такжеIDataErrorInfo
, Первоначально у меня были все элементы управления пользовательским интерфейсом, отображаемые в одном большом приложении WPF, и я с радостью видел ошибки, помеченные с помощью этого пользовательского стиля:
Сегодня я реорганизовал программу и решил распределить различные элементы управления пользовательским интерфейсом на несколько страницTabControl
, Структура структуры, которую я использую для этого:
[.. various Stack Panels, Groups and UI controls moved from original layout ..]
[.. various Stack Panels, Groups and UI controls moved from original layout ..]
...
(Я используюAdornerDecorator
как я уже видел в предыдущей программе, стиль ошибок не перерисовывается при смене вкладок. Я могу'Не помню, где я это видел, но это помогло мне.)
Теперь, когда я запускаю свою программу, стиль ошибок правильно отображается наTabItem
который открывается при запуске программы, но не правильно отображает другой (скрытый)TabItem
s. Когда я выбираю (и раскрываю) один из тех,TabItem
s подсказка стиля ошибки установлена, но изображение значка ошибки не отображается.
Я также протестировал удаление пользовательского стиля и вернулся к стандартному стилю ошибок WPF для текстовых полей, и я по-прежнему получаю аналогичное поведение, т.е.TabItem
которые скрываются при открытии программы.
Так что кажется, что я полностью упускаю что-то, что мешает стилям ошибок корректно отображаться на чем-то кроме открытой вкладки Item. Есть идеи?
Редактировать 3 сентября Изменено описание, чтобы поддержать лучшее понимание того, что я видел
Поговорим о Дежа ву в 2014
Это'С ноября 2014 года и сегодня у меня была эта глупая проблема WPF с шаблонами ошибок, которые не отображаются на элементах, представленных в контроллере вкладок. Что-то в глубине души наводит на мысль, что я видел эту проблему раньше. Итак, я Google, и первое, что появляется, это мой собственный вопрос с 2009 года!
На этот раз я вижу комментарий от dkl, который был добавлен после того, как я решил все в последний раз. Поэтому я попробовал его по-своему и использовал это решение (которое работало хорошо, и я нене нужно посыпать Adorner контроль над моими вкладками):
*