Как изменить AdornerLayer для отображения ValidationError (WPF) - PullRequest
0 голосов
/ 06 мая 2018

Я создал потомка RangeBase. В этом потомке я создал шаблон, где я использовал элемент управления TextBox. Теперь мне нужно проверить значение (унаследованного RangeBase), когда недопустимое значение вводится в TextBox (содержится в шаблоне).
И вот моя проблема: если я хочу проверить новый дочерний элемент управления, только TextBox украшен ошибкой проверки (используя соответствующий ControlTemplate) - TextBox содержит соответствующую проверку в привязке свойства Text ()
Но мне нужно, чтобы он был украшен моим новым элементом управления, в целом (не только TextBox): enter image description here.
Есть ли способ сделать это?
Возможно, необходимо изменить AdornerLayer, чтобы рекламный элемент отображался не в TextBox, а в моем новом элементе.

1 Ответ

0 голосов
/ 24 мая 2018

Вам необходимо переместить сайт рекламодателя из проверенного элемента управления в основной элемент управления (потомок RangeBase). Для этого вы можете просто использовать:

Validation.ValidationAdornerSite = "{Binding RelativeSource = {RelativeSource Mode = TemplatedParent}} "

прикрепленное свойство к TextBox.

...