![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Диспозиция:
Определяю набор стилей в отдельном файле, допустим mystyles.xaml:
Потом хочу применить определенные стили из этого файла к определенным элементам. Понятно если из дизайнера делать, то сначала: <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="mystyles.xaml" /> </ResourceDictionary.MergedDictionaries> А далее, вот что делать? Вопрос: Какой синтаксис должен быть для доступа к ним, из кода и(или) из дизайнера xaml P.S.:Вариант с <Style x:Key="{x:Type TextBox}" TargetType="{x:Type TextBox}" .... что бы автоматом ко всем TextBox применялась, не подходит. Это сообщение отредактировал(а) Человек01 - 13.3.2009, 18:40 |
|||
|
||||
Человек01 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Ответ:
main.xaml
В рабочем файле:
либо из кода: qwe.Style = (Style)this.Resources["textblok"]; P.S.: Извините за простецкий вопрос, просто, что то парился и не получалось в сложном проекте, сделал для пробы простенький, все получилось, видимо я где то стиль на Load переопределяю ![]() Это сообщение отредактировал(а) Человек01 - 13.3.2009, 20:24 |
||||
|
|||||
Человек01 |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
В продолжение темы:
Диспозиция: Создаю класс:
Вопрос: собственно в коде ![]() Пробовал так:
Но ошибка
Что делать? Если сделать так:
Тогда ошибка:
Может это наведёт кого на мысль... Что то я уже париться начинаю. ![]() Это сообщение отредактировал(а) Человек01 - 13.3.2009, 21:37 |
||||||||||
|
|||||||||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Для примера:
1.Расположить рядом с исполняемым файлом main.xaml 2.И сделать так:
То всё работает! Соответственно остаётся вопрос, как получить main.xaml который находится в самом проекте, со всеми вытекающими? |
|||
|
||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Всё разобрался.
![]() Как я понял проблема была в том что XamlReader.Load работает с StreamResourceInfo(s).ContentType = application/xaml+xml а Application.GetResourceStream получал application/baml+xml с которым работает Application.LoadComponent Вот:
Вот, пользуемся и говорим Человеку спасибо ![]() Это сообщение отредактировал(а) Человек01 - 13.3.2009, 22:33 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Человек01, если main.xaml представляет собой ResourceDictionary со стилями, то достаточно просто ResourceDictionary получить из xaml
как-то так: .
p.s. может и нескомпилиться...по памяти писал... если отвалится в рантайме, то можно при создании объекта Uri прописать абсолютный путь в синтаксисе pack://... Добавлено через 1 минуту и 53 секунды Человек01, ты б взял книжку какую...Adam Nathan "WPF Unleashed" - хорошая книжка...ну или Петцольда на крайний случай...сразу половина вопросов отпадёт... -------------------- СУВ, Partizan. |
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 2 Всего: 49 |
Человек01, о как набежали все помогать
![]() судя по invalid character, у тебя main.xaml как Embedded Resource лежит, т.е. не xaml, а baml.
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
PashaPash, не набежали, а вернулись с работы) -------------------- СУВ, Partizan. |
|||
|
||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Вот что бывает если не успеешь галочку "Пометить как решённый" поставить
![]() Где же вы братцы были четыре часа назад ![]() Partizan, а UriKind.Unknown - у меня что то нет такого параметра, а с new ResourceDictionary вообще не принимает параметров. Или я что то не так делаю? А по поводу книг, у меня в наличии только Мэтью Мак-Дональд WPF в NET 3.5 А вообще с книгами такими, у нас в городе проблемы, хорошо если доходят через год-полтора. Заказывать, - идет долго, я от ожидания сума сойду ![]() А скачать, не знаю что качать... Ткните пальцем (имеется в виде даже не ссылки, а просто названия, желательно с приблизительным качеством и ориентированностью содержания ![]() Если честно единственная связь с миром, вот форум (хоть какое то профессиональное общение ![]() PashaPash, спасибо за ответ, мне нравится, - элегантненько. Хотя мой способ тоже работает. P.S.: Ага набежали вы сразу, скопом, явно ждали... |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Человек01,
Это сообщение отредактировал(а) Partizan - 13.3.2009, 23:05 -------------------- СУВ, Partizan. |
|||
|
||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
Partizan, Спасибо работает.
В продолжение темы новый вопрос. Диспозиция: проделываю всё вышесказанное в public class ExTextBox : TextBox и определяю его в dll далее по тексту, в новом приложении прикрепляю dll(содержащий ExTextBox) как References пытаюсь поставить в приложение ExTextBox, с наивной надеждой что то вставиться со всеми применёнными стилями, но не чаго не получается, кроме:
Как поступить? Цель у меня такая: ExTextBox наследованный от TextBox в котором я определяю его поведение, реагирование на Eventы и добавляю несколько параметров public String qwe{get;set;}, так же настраивается внешний вид(Вот с последним и бьюсь) Может у меня просто не правильный подход, для достижения данной цели? Это сообщение отредактировал(а) Человек01 - 13.3.2009, 23:29 |
|||
|
||||
PashaPash |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 2 Всего: 49 |
Pack URIs in Windows Presentation Foundation |
||||
|
|||||
Человек01 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 20.2.2009 Где: Абакан, респ. Хак асия, Россия Репутация: 2 Всего: 2 |
PashaPash, огромнейшее спасибо.
Сделал так:
в надежде что test01.dll будет всегда рядышком с исполняемым файлом Работает, Всем ещё раз огромнейшее спасибо. ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |