Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как наследовать глобальный стиль локально? 
:(
    Опции темы
lankin
Дата 1.12.2011, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 13.12.2006

Репутация: нет
Всего: нет



есть сборка Project.Style, в которой только один файл CommonStyle.xaml. В нем описаны все стили для контролов. Например:
Код

    <Style TargetType="TextBlock">
        <Setter Property="Height" Value="26"/>
    </Style>

есть сам проект Project, в app.xaml которого есть следующие строки:
Код

<Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/Project.Style;component/CommonStyle.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>


есть отдельный MainView.xaml, в котором есть такие строки
Код

<Grid.Resources>
    <Style TargetType="TextBlock">
        <Setter Property="TextWrapping" Value="Wrap"/>
    </Style>
</Grid.Resources>


Что в итоге: к текстблоку на MainView применяется только стиль, описанный тут же, локально. Стиль, который описан в отдельной сборке - не применяется, высота стандартная. Если убрать локальный стиль - тогда применяется и высота становится = 26рх.
Почему??? и как сделать, чтобы стили наследовались? Можно ли сделать basedOn для стиля, который MergedDictionary из другой сборки?
PM MAIL   Вверх
Kefir
Дата 2.12.2011, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Чтобы унаследовать стиль по умолчанию надо просто написать так:
Код

<Grid.Resources>
    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
        <Setter Property="TextWrapping" Value="Wrap"/>
    </Style>
</Grid.Resources>


То биш надо добавить BasedOn="{StaticResource {x:Type TextBlock}}"
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.