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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как использовать для своего контрола стиль, который предназначен для другого контола 
:(
    Опции темы
Rohoss
  Дата 20.12.2010, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Как использовать для своего контрола стиль, который предназначен для другого контола?

Допустим у меня есть наследник Button
Код

public class MyButton : Button

Так как MyButton мало чем отличается от Button я хочу, чтобы стиль определённый для Button работал и для MyButton. Как это сделать?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
CYBERDREAM
Дата 21.12.2010, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

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



Привет, используй ресурсы
http://www.wpftutorial.net/Styles.html


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
rooks
Дата 21.12.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код
<Style TargetType="{x:Type MyButton}" BasedOn="{StaticResource {x:Type Button}}"/>


Это сообщение отредактировал(а) rooks - 21.12.2010, 13:06
PM MAIL ICQ   Вверх
Rohoss
Дата 21.12.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Спасибо, вопрос решён  smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Rohoss
Дата 24.12.2010, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Цитата(rooks @  21.12.2010,  12:58 Найти цитируемый пост)
<Style TargetType="{x:Type MyButton}" BasedOn="{StaticResource {x:Type Button}}"/>

Тут имеется некоторая проблемка. При динамическом изменении стиля все Button меняют свой внешний вид, а вот MyButton остаётся прежним. Хотя иногда MyButton тоже меняет внешний вид а иногда нет (думаю дело в самом WPF), а вот Button меняет внешний вид всегда. Как сделать чтобы и MyButton всегда менял вид при изменении стиля? Заменить StaticResource на DinamicResource не возможно, так как
Цитата

A 'DynamicResourceExtension' cannot be set on the 'BasedOn' property of type 'Style'. A 'DynamicResourceExtension' can only be set on a DependencyProperty of a DependencyObject.


Это сообщение отредактировал(а) Rohoss - 24.12.2010, 16:34


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Kefir
Дата 27.12.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



Rohoss, хоть и непонятно когда и что у вас там меняется, но рискну предположить, что если напрямую менять стиль нацеленный на MyButton, то оно работает так как надо, а если менять стиль исходный (который значится в BasedOn), то изменения не идут в стиль MyButton. Если по-простому - ресурсы резолвятся заранее и изменение в базовых стилях в рантайме не приведет к изменениям производный стилей.
PM MAIL WWW Skype   Вверх
Rohoss
Дата 27.12.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Цитата(Kefir @  27.12.2010,  11:37 Найти цитируемый пост)
 Если по-простому - ресурсы резолвятся заранее и изменение в базовых стилях в рантайме не приведет к изменениям производный стилей. 

Так вот, иногда приводит иногда нет. С чем связанно не пойму, но думаю может в самом WPF глюк.


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Rohoss
Дата 18.1.2011, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

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



Тут такая ситуация, если  к контролу применяю этот код

Цитата(Rohoss @  24.12.2010,  16:32 Найти цитируемый пост)
<Style TargetType="{x:Type MyButton}" BasedOn="{StaticResource {x:Type Button}}"/>


то при создании контрола с кода он кое как как адаптируется под стиль, но при создании контрола в XAML он вообще не меняет стандартный стиль... что же делать?

напомню, что стили подключаются во время работы приложения


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




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


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

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