Кто-нибудь нашел хороший шаблон для обхода неизменных стилей в Silverlight 2?
Я имею в виду, есть ли у кого-нибудь обходной путь для того факта, что вы не можете программно переключать стиль элемента после того, как он был установлен, то есть вторая строка здесь выдаст исключение катастрофического сбоя:
this.TestButton.Style = (Стиль) Application.Current.Resources ["Фред"];
this.TestButton.Style = (Стиль) Application.Current.Resources ["Барни"];





Я не знаю, помогает ли это, но я считаю, что вы можете изменять шаблон элемента управления сколько угодно раз во время выполнения. Возможно, это было бы потенциальным обходным решением.
Это невозможно. Лучший обходной путь, который я видел, - от Нихила Котари из Microsoft:
http://www.nikhilk.net/Silverlight-Themes.aspx
В любом случае существует серьезный недостаток централизованного определения стилей в App.xaml, заключающийся в том, что при ссылке на эти стили из других пользовательских элементов управления прекращается вся поддержка конструктора. Я не использовал его, но движок тем Nikhil выглядит очень многообещающим, и у меня есть забавное чувство, что многие из его идей в конечном итоге все равно попадут в продукт silverlight.
Проблема исчезла в Silverlight 3, где стили изменяемы - ура!
Спасибо за ссылку. МЕЖДУ - код не предназначался для чего-то другого, кроме иллюстративного - я обычно не использую стили с такими именами, как Fred & Barney :-)