![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
В окне находится Usercontrol, DataContext которого биндится к определённым данным (в ViewModel). Так вот, я хочу чтобы автоматически подбирался шаблон для UserControl при смене типа DataContext.
То есть, изменился тип DataContext, и соответственно изменился шаблон отображения данных. Как это лучше и правильней всего организовать? |
|||
|
||||
-Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Если для WPF.
Где нить в ресурсах:
В том месте, где надо менять динамически:
Добавлено через 1 минуту и 40 секунд Кстати, вместо ContentPresenter вполне сгодится и сам UserControl. -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
-Mikle-, спасибо, уже не знаю как благодарить
![]() Добавлено через 3 минуты и 16 секунд А вот интересно, можно применить шаблон на основе значений свойств в ViewModel Например, если какое то свойство ViewModel равно true прибиндить один шаблон, если false то другой? |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Всегда пожалуйста
![]() По поводу последнего вопроса, можешь использовать для этих целей DataTemplateSelector, StyleSelector и прочие подобные штуки, они как раз таки для этого и нужны. Если не разберешься, пиши. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Ну это пока только теоретический вопрос ![]() |
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Да, есть такое дело. Как вариант, в некоторых случаях может подойти управление Visibility. Например, если у вас есть булиново свойство от которого зависит отображение того или иного представления (или его части), думаю вполне подойдет. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
||||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Ну да, но конвертеры простая и хорошая практика.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
Rohoss |
|
||||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Похоже есть ещё вариант - использовать DataTrigger
Добавлено через 5 минут и 53 секунды Прикрепил пример Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() |
||||
|
|||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 13 Всего: 59 |
Ну да, все это инструменты разные, в одном случае подходит одно, в другом - другое. Выбираешь в зависимости от условий, удобства и личных предпочтений в каждом конкретном случае.
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |