![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Tereha |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 3.2.2010 Репутация: нет Всего: нет |
Уважаемые Гуру!
В TabControl ItemsSource связывается с ObservableCollection содержащей набор generic ViewModel. С помощью generic я настраиваю ViewModel на заданный тип объекта edm. В настоящий момент мне кажется, что должно быть нечто вроде
и новый элемент включается в коллекцию как-то вроде
где
Но на преобразовании
получаю сообщение, что такое преобразование невозможно. Возможно кто-то сможет подсказать, как обойти эту проблему? |
||||||||
|
|||||||||
| dzaraev |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Чтобы осуществить преобразование, подобное этому
Вам необходима вариация generic-параметра. Про вариацию в C# можно прочитать на MSDN: http://msdn.microsoft.com/ru-ru/library/dd...(v=vs.100).aspx В вашем случае не получится сделать именно так, как вы хотите, т.к. вариация применяется только к интерфейсам и делегатам. Это значит вместо класса WorkspaceViewModel<T>; вам необходимо будет объявить интерфейс IWorkspaceViewModel<out T> Это будет означать, что можно выполнить преобразование
При условии, что MyType - ссылочный тип. Таким образом, вам даже не придется выполнять преобразование явно через оператор as, вы можете просто добавить экземпляр MyViewModel в коллекцию типов IWorkspaceViewModel<object>. Вот так приблизительно нужно переписать ваш пример, чтобы он заработал:
Подробности узнаете, если пройдёте по ссылке, которую я привел выше. Это сообщение отредактировал(а) dzaraev - 5.9.2013, 07:53 --------------------
Если вопрос решён - помечайте тему. |
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |