Я использую VS2008 SP1 с WPFToolKit v3.5.50211.1.
Я вложил пользовательские элементы управления WPF в проект библиотеки классов следующим образом:
MainWpfUserControl
- Содержит экземпляр
NestedUserControl
- , который содержит экземпляр
DataGrid
из набора инструментов WPF.
Тот же проект библиотеки классов содержит WinForms UserControlс ElementHost, который содержит MainWpfUserControl
.
Я получаю странные ошибки при открытии WinForms UserControl в конструкторе.После небольшой работы (перехвата и регистрации исключения, созданного в конструкторе NestedUserControl
), создается исключение следующим образом:
[A] Microsoft.Windows.Controls.DataGridневозможно привести к [B] Microsoft.Windows.Controls.DataGrid.Тип A происходит из «WPFToolkit, версия = 3.5.40128.1, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35» в контексте «LoadFrom» в местоположении «C: \ Program Files \ WPF Toolkit \ v3.5.50211.1 \ WPFToolkit.dll».Тип B происходит из 'WPFToolkit, версия = 3.5.40128.1, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35' в контексте 'LoadNeither' в расположении 'C: \ Documents and Settings \ ... \ Локальные настройки \ Данные приложения \ Microsoft \ VisualStudio\ 9.0 \ ProjectAssemblies \ zfh65-u101 \ WPFToolkit.dll '
Кто-нибудь испытывал что-либо подобное?
ОБНОВЛЕНИЕ
Я, кажется, успешно обошел проблему, поместив WPFToolkit.dll в GAC.Но это нежелательно по другим причинам (например, по умолчанию CopyLocal имеет значение false).Так что, похоже, проблема связана с загрузкой контекста.Есть ли способ контролировать это?