Как применить стили ко всему приложению Silverlight? - PullRequest
3 голосов
/ 14 мая 2010

Я создал два разных фона сетки и стиль переключателя в моем

App.xaml.

Пользователь может выбрать любой стиль, чтобы изменить внешний вид страницы, т. Е. Изменить фон и стиль радиокнопки.

Теперь, когда я нажимаю на кнопку raduio, приложение переходит на другую страницу, и стиль исчезает.

Есть ли способ установить стиль на уровне приложения, или мне нужно сохранить styleVar как Global Var и проверить загрузку второй страницы, а затем применить стили согласно styleVar.

Ответы [ 3 ]

3 голосов
/ 14 мая 2010

Да, как сказал Джефф Уилкокс Неявное моделирование - это новая вещь в Silverlight 4. Так что если вы хотите создать стиль, который будет использоваться по умолчанию для всех элементов управления этого типа в XAML-файле диапазона или Если поместить все приложение в App.xaml, вы бы пропустили атрибут x: Key.

<Style x:Key="ButtonStyle" TargetType="Button">

Чтобы использовать ButtonStyle, вы должны написать:

<Button Content="A button" Style="{StaticResource ButtonStyle}" />

Отсутствие ключа x: позволит вам использовать ButtonStyle по умолчанию.

<Style TargetType="Button">

<Button Content="A button with style that has no x:Key value" />

Теперь, если вам нужно создать кнопку, у которой нет этого стиля по умолчанию, вы можете установить для свойства Style этой кнопки значение x: Null или переопределить, установив для этой кнопки именованный стиль.

 <Button Content="Default Silverlight button" Style="{x:Null}"/>

Еще одно новшество со стилями в Silverlight 4 заключается в том, что вы можете создавать новые стили на основе существующих. Хотя это был не ваш вопрос, я приведу пример:

<Style TargetType="Button" BasedOn="{StaticResource BasedStyle}">

О неявном оформлении документов: http://msdn.microsoft.com/en-us/library/system.windows.style%28VS.95%29.aspx

Неявные стили

В Silverlight 4 вы можете устанавливать стили неявно. То есть вы можете применить определенный стиль для всех элементов определенный тип. Когда ресурс объявляется без значения x: Key, значение x: Key принимает значение свойство TargetType. Если вы установите стиль неявно, стиль применяется только к типам, которые соответствуют TargetType точно, а не элементы, полученные из TargetType значение. Например, если вы создаете стиль неявно для всех Элементы управления ToggleButton в вашем приложение, и ваше приложение имеет Элементы управления ToggleButton и CheckBox (CheckBox происходит от ToggleButton), стиль применяется только к Элементы управления ToggleButton.

На основе стилей

Начиная с Silverlight 3, это можно построить новый стиль на основе существующий стиль. Вы можете сделать это используя свойство BasedOn. это уменьшает дублирование кода и облегчает управление ресурсами. Каждый стиль поддерживает только один BasedOn стиль. Для получения дополнительной информации см. На основании собственности.

2 голосов
/ 14 мая 2010

Просто уберите x: ключевую часть стиля внутри App.xaml. Это новая функция для Silverlight 4.

0 голосов
/ 14 мая 2010

Поместите соответствующие стили в файл App.xaml.Объекты приложения Свойство Resources делает стили и другие ресурсы доступными во всем приложении.

...