Принудительное связывание происходит после применения ControlTemplate?

Эй, я создаю CustomControl, который имеет набор свойств зависимостей и несколько визуальных частей, таких как, например, Canvas, TextBox и т. Д. Проблема заключается в том, что при назначении значения свойствам зависимости мне нужно выполнить определенные действия для визуальных элементов, а именно, мне нужно добавить значение нового свойства зависимости в Canvas, но когда привязка вступает в силу и значение присваивается, ControlTemplate еще не был применен, и поэтому он аварийно завершает работу.

Какой хороший способ это исправить?

Благодарю.

1 ответ

Решение

Простое решение состоит в том, чтобы выполнить нулевую проверку в обработчике свойства зависимостей, чтобы предотвратить сбои, а также переопределить соответствующий метод, в котором вы знаете, что построено визуальное дерево (скорее всего, OnApplyTemplate), и сделать там то же самое для инициализации визуальных элементов.

Другие вопросы по тегам