Я создал декоратор, который рисует какую-то пользовательскую графику в методе OnRender. Графика зависит от положения объекта, содержащего декоратор. Я установил декоратор через свойство Шаблон через стиль. Проблема заключается в том, что метод OnRender декоратора вызывается только один раз при применении шаблона. Поэтому, когда я изменяю позицию объекта и вызываю InvalidateVisual() на этом объекте, декоратор не перерисовывается.WPF: недействительные элементы управления в ControlTemplate
мне удалось обойти это, установив шаблон объекта в нуль, а затем сбросить его обратно в тот же шаблон, как это:
Это делает трюк, но я уверен, что это не так, как это должно быть сделано. Что мне не хватает?