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

Поиск:

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 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   Вверх
Gvozdin
Дата 1.12.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 9.8.2011
Где: Москва

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



Попробуйте BasedOn={StaticResource {x:Type TextBlock}}"
Но у меня сомнения что заработает
--------------------
http://gvozdin.ru
PM MAIL WWW   Вверх
lankin
Дата 2.12.2011, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



все, вопрос решен. Для нужного стиля в отдельной сборке присваиваем x:Key и в локальном стиле пишем 
 BasedOn={StaticResource имя_стиля_из_сборки}"

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


 




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


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

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