Я понимаю, что уже очень поздно, но я столкнулся с той же проблемой и сам нашел решение, так что, надеюсь, это кому-нибудь пригодится.
После того, как шаблон был применен к элементу управления (после первого цикла измерения / отображения), вы можете получить доступ к созданному шаблону и его дочерним компонентам просто с помощью VisualTreeHelper.GetChild (myToggleButton, 0)
- это вернет корневой объект визуального объекта созданного шаблона дерево, из которого вы можете добавлять / удалять / изменять дочерние объекты в его коллекции Children.
Очевидно, что вы изменяете только визуальное состояние этого экземпляра элемента управления, а не самого ресурса шаблона, поэтому новые элементы управления, созданные из этого шаблона, будут по-прежнему иметь первоначальный визуальный вид.
Мой вопрос по этому вопросу здесь: Как заменить часть ControlTemplate во время выполнения в Silverlight 3?