Так что у меня есть dll из другого проекта, который содержит много полезных классов и элементов управления для меня (давайте назовем его foo.dll). Я делаю приложение WPF. Мне нужно использовать некоторые из них в моем приложении. Я создал свой usercontrol для форм Windows и ссылался на UserControlForMe из foo.dll. Показывается, все хорошо. Теперь я хочу вставить свой usercontrol в форму wpf. Это выглядит следующим образом:windowsformhost cant load usercontrol из другой dll
<UserControl x:Class="FlatRectangular_Profile.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
xmlns:uc="clr-namespace:FlatRectangular_Profile.UC"
Height="2093" Width="717">
<Grid Name="grid">
<WindowsFormsHost>
<uc:WindowsFormsProfManual ></uc:WindowsFormsProfManual>
</WindowsFormsHost>
</Grid>
</UserControl>
Но здесь я получаю сообщение об ошибке «косяк типа нагрузки UserControlForMe из foo.dll». Об этой ошибке нет. Опять же, UserControlForMe загружается в WindowsFormsProfManual. Все это происходит в одной библиотеке классов. Я ссылался на все, что нужно foo.dll.
Не знаю, как действовать дальше. Я также попытался загрузить его в код в usercontrol.loaded событие, но он тоже не работает, и показывает stacktrace, что приводит к конструктору UserControlForMe.
Вам нужен WindowsFormsHost? Вы пытались его удалить? Мы говорим об исключении компиляции или времени выполнения? А что такое UserControlForMe? –
Мне это нужно, потому что без него WPF не загрузит winforms usercontrol. Его во время компиляции. UserControlForMe - это элемент управления, чтобы нарисовать несколько строк, и я просто не хочу переписывать его в wpf-управлении. – user1193962