| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Обобщённый класс в качестве источника данных |
| Автор: Compositum 12.11.2010, 12:55 | ||||||||||||
| Добрый день. Хочу создать шаблон, завязанный на определённый тип. Как это делать в том случае, если тип обобщённый? У меня есть класс ObservableDictionary<T>, а так же класс ValueInfo. Хочу создать шаблон для ObservableDictionary<ValueInfo>. без указания конкретного ключа, а чтобы он автоматически применялся ко всем объектам типа ObservableDictionary<ValueInfo>. Пытался сделать так:
Ошибка компиляции:
Затем пробовал делать так (перед ValueInfo убрал "bush:"):
Ошибка компиляции:
Третий вариант был таким (хотя мне бы хотелось указать не "T", а конкретный тип, поскольку тогда можно было бы назначить разные шаблоны исходя из типа значений словаря, т.е. один шаблон для ObservableDictionary<ValueInfo>, другой для ObservableDictionary<FileInfo>, и т.д. и т.п.):
Ошибка компиляции:
Меня терзают смутные сомнения, что в XAML-разметке нельзя задать источником объекты обобщённых классов... Если в окне xaml-редактора я ставлю символ ":" после "bush" - то в раскрывающемся списке отсутствует нужный мне обобщённый класс, хотя на самом деле он есть в указанном пространстве. ![]() Я не очень доверяю XAML-редактору MS VS 2010, т.к. неоднократно сталкивался с тем, что верный синтаксис он подчёркивал как ошибку, но при компиляции всё работало как часы. Возможно и с отображением обобщённых классов в раскрывающемся списке - такая же фигня... |
| Автор: Compositum 12.11.2010, 23:34 |
| http://msdn.microsoft.com/ru-ru/library/ms753322.aspx в разделе XAML 2009 пишут, что запрашиваемый мною функционал не реализован (к сожалению). Т.о. тема закрыта. |