Silverlight 4: изменение тем / стилей для всего приложения без использования инструментария - PullRequest
0 голосов
/ 27 сентября 2010

Мы начинаем наш первый проект Silverlight, созданный WPF.Это относительно простой веб-портал, и мы хотели бы избегать ссылок на набор инструментов Silverlight, учитывая наш опыт работы с набором инструментов WPF.

Я не большой программист и у меня есть пара вопросов, связанных с темами:1003 *

  • Неявные стили делают это проще.Кажется очевидным, что вы можете просто переключать словари ресурсов, чтобы изменить свою тему.Как мне сделать это, не полагаясь на набор инструментов?

  • Как применить стили ко всему приложению, как в WPF, вместо того, чтобы помещать вещи в контейнеры тем?Я вижу, что вы можете использовать ApplicationThemeURI, но для этого необходим инструментарий.

Спасибо.

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

Применение стиля ко всему приложению - простая задача в silverlight 4. Поместите этот код в App.xaml или themes / generic.xaml:

<!-- Sample style for each button in the application -->
<Style TargetType="Button">
</Style>

Эта статья может помочь вам: http://www.silverlightshow.net/items/Implicit-Styles-in-Silverlight-4.aspx

Вы можете изменить словарь ресурсов следующим образом:

var dict = Application.Current.Resources.MergedDictionaries.FirstOrDefault(rd => rd.Source == new Uri("Dictionary1.xaml", UriKind.Relative));
if (dict != null)
     dict.Source = new Uri("Dictionary2.xaml", UriKind.Relative);
0 голосов
/ 28 сентября 2010

Просто заметка в Siverlight Toolkit. В последний раз, когда я использовал WPF Toolkit (который был некоторое время назад), у меня сложилось впечатление, что это более или менее опционально. Я бы не сказал, что то же самое относится и к Silverlight Toolkit. Он добавляет множество важных функций, которые сложно реализовать самостоятельно, и хотя он не без ошибок, он довольно надежен. Я не могу поручиться за каждый его аспект, но мы широко используем его в большом проекте Silverlight (~ 30 тыс. Строк кода), и мы находим его незаменимым. Если вы не знаете о конкретных проблемах, с которыми может столкнуться ваш проект, я бы порекомендовал вам пересмотреть свое решение не использовать его.

...