Как заменить стиль по умолчанию для элемента управления WPF? - PullRequest
2 голосов
/ 10 февраля 2010

Так что, когда я применяю дополнительные типизированные стили в своем приложении, мне не нужно делать BasedOn, чтобы их можно было объединить с моим собственным глобальным стилем. Вы знаете, как это происходит с собственными стилями Microsoft. По сути, я хочу применить свой стиль на номер 9 вместо 8.

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

Edit: я хочу сделать это для элементов управления, которые я не сделал, например, Button.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2010

Звучит так, будто вы хотите создать другой стиль Generic.xaml (тема) для элемента управления, но это не то, что предназначено для встроенных элементов управления. Вы можете сделать что-то вроде создания альтернативной сборки темы с вашими стилями, которую вы можете обмануть в загрузке WPF (то есть PresentationFramework.Aero.dll) или элементы управления подклассами, на которые вы хотите заменить шаблоны. Прежде чем идти по этому пути, вы должны оценить, стоит ли это времени. Все, что вы можете получить на работе, увеличит сложность и потребует много дополнительной работы только для того, чтобы изменить локальные декларации стиля по умолчанию с

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">

до

<Style TargetType="{x:Type Button}">

Что касается игнорирования тем, вы не можете многое контролировать, поскольку процесс автоматического выбора. Стандартный способ сделать это - скопировать стиль по умолчанию из определенной темы в ваш App.xaml в качестве стиля приложения по умолчанию и изменить его при необходимости, но это, очевидно, создает ситуацию, от которой вы пытаетесь уйти.

0 голосов
/ 10 февраля 2010

Если вы установите для свойства OverridesDefaultStyle значение true в своем пользовательском стиле, стили темы (или стили по умолчанию) будут игнорироваться. Это эффективно делает ваш стиль единственным используемым стилем.

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.overridesdefaultstyle.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...