| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > как наследовать глобальный стиль локально? |
| Автор: lankin 1.12.2011, 15:54 | ||||||
есть сборка Project.Style, в которой только один файл CommonStyle.xaml. В нем описаны все стили для контролов. Например:
есть сам проект Project, в app.xaml которого есть следующие строки:
есть отдельный MainView.xaml, в котором есть такие строки
Что в итоге: к текстблоку на MainView применяется только стиль, описанный тут же, локально. Стиль, который описан в отдельной сборке - не применяется, высота стандартная. Если убрать локальный стиль - тогда применяется и высота становится = 26рх. Почему??? и как сделать, чтобы стили наследовались? Можно ли сделать basedOn для стиля, который MergedDictionary из другой сборки? |
| Автор: Gvozdin 1.12.2011, 16:10 |
| Попробуйте BasedOn={StaticResource {x:Type TextBlock}}" Но у меня сомнения что заработает |
| Автор: lankin 2.12.2011, 06:29 |
| все, вопрос решен. Для нужного стиля в отдельной сборке присваиваем x:Key и в локальном стиле пишем BasedOn={StaticResource имя_стиля_из_сборки}" Забыл указать - это SL приложение, не WPF. поэтому решение BasedOn={StaticResource {x:Type TextBlock}}" не работает. |