Применение стиля с помощью TargetType, если стиль подключен в App.xaml - PullRequest
1 голос
/ 14 февраля 2012

Например, у меня есть стиль

<Style TargetType="Button">
...
</Style>

в файле Button.xaml. Если я добавлю этот стиль, используя MergeDictionary в файл, где я хочу его использовать - все работает хорошо.Но если я подключу этот стиль выше в иерархии файлов (например, в App.xaml), стиль перестанет работать, пока я не установлю для него ключ x: Key и для всех кнопок

Style = "{StaticResourcename_of_style} ".

Могу ли я избежать этого поведения, или я должен установить для всех своих элементов стиль по имени?

1 Ответ

2 голосов
/ 14 февраля 2012

Попробуйте установить его в качестве ресурса приложения в вашем app.xaml, вы также можете сделать то же самое при вызове определенных стилей для определенных представлений, если вы сделаете то же самое для UserControl.Resources вашего представления.

PS - Пример Silverlight, но метод остается тем же.

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
              x:Class="The.App">
    <Application.Resources>
        <Style TargetType="Button" BasedOn="{StaticResource name_of_style}"/>
    </Application.Resources>
...