WPF. Работа с Template программно.
От: BKnight Россия  
Дата: 15.07.10 12:04
Оценка:
Доброго времени суток!

Есть приложение, в котором есть элемент управления (обзовем его View), унаследованный от UserControl, в котором много базового кода. Есть уйма других контролов, унаследованных от него.

Недавно появилась необходимость добавить Template для этого самого View (т.к. XAML мы создать для View не можем), причем в этом Template есть кнопка, события от которой очень нужно получать.

Если это все делать ч/з XAML — проблем никаких — все привязывается, все работает, но вот только унаследоваться от этого класса нельзя — студия не может наследовать объект с xaml-ом от объекта с xaml-ом — отсюда и пришло в голову решение сделать это все программно.

На данный момент работает все, кроме события — создается Template (парсится из строки, содержащей XAML), выставляется контролу.

А теперь внимание, вопрос:
1) как программно создать Template с кнопкой, с обрабатываемым событием Click?
— или —
2) как программно найти в готовом Template-е нужный элемент управления (получить его в виде объекта)?

Заранее благодарен за ответы!
Re: WPF. Работа с Template программно.
От: Volgaboatman  
Дата: 15.07.10 13:29
Оценка:
Здравствуйте, BKnight, Вы писали:

BK>Доброго времени суток!


BK>Есть приложение, в котором есть элемент управления (обзовем его View), унаследованный от UserControl, в котором много базового кода. Есть уйма других контролов, унаследованных от него.


BK>Недавно появилась необходимость добавить Template для этого самого View (т.к. XAML мы создать для View не можем), причем в этом Template есть кнопка, события от которой очень нужно получать.


BK>Если это все делать ч/з XAML — проблем никаких — все привязывается, все работает, но вот только унаследоваться от этого класса нельзя — студия не может наследовать объект с xaml-ом от объекта с xaml-ом — отсюда и пришло в голову решение сделать это все программно.


BK>На данный момент работает все, кроме события — создается Template (парсится из строки, содержащей XAML), выставляется контролу.


Насколько я понимаю подход в корне неверный (скорее всего унаследованный от Delphi). Тут надо извращаться по другому, либо через стили, либо через MVVM (VM можно наследовать как хочешь, а View у всех разный будет). К сожадению и в том и в том случае придется больше кода писать...
... << RSDN@Home 1.2.0 alpha 4 rev. 1160>>
Re: WPF. Работа с Template программно.
От: MxMsk Португалия  
Дата: 15.07.10 17:52
Оценка: 3 (1)
Здравствуйте, BKnight, Вы писали:

BK> А теперь внимание, вопрос:

BK>1) как программно создать Template с кнопкой, с обрабатываемым событием Click?
BK>- или -
BK>2) как программно найти в готовом Template-е нужный элемент управления (получить его в виде объекта)?
Какие-то странные вопросы. В том смысле, что варианты не особо заменяют друг друга. А решением для шаблона и кнопки может (и должна) быть такая замечательная вещь, как команды.
Re[2]: WPF. Работа с Template программно.
От: BKnight Россия  
Дата: 16.07.10 08:02
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, BKnight, Вы писали:


MM>Какие-то странные вопросы. В том смысле, что варианты не особо заменяют друг друга. А решением для шаблона и кнопки может (и должна) быть такая замечательная вещь, как команды.


Огромное спасибо! Про команды-то я вообще и позабыл!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.