Динамическая загрузка и использование содержимого XAML в WPF со ссылками на локальные типыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Динамическая загрузка и использование содержимого XAML в WPF со ссылками на локальные типы

Сообщение Anonymous »

У меня есть приложение, которое позволяет пользователям определять файлы .xaml и .xaml.js, и мы используем комбинацию встроенных механизмов javascript и динамически загружаемый xaml на C# для создания поддельной среды рабочего стола. где вы можете писать приложения wpf на javascript.
До сих пор мне не приходилось этого делать, но теперь мне нужно сослаться на пользовательский элемент управления, определенный в нашем основном приложении WPF из один из динамически загружаемых документов xaml.
с использованием XamlReader, где Lemur.GUI.ResizableWindow четко определен в нашем основном приложении, загружая его, например:< /p> Я получаю такие ошибки:

Код: Выделить всё

XAML parsing error: 'Cannot create unknown type '{clr-namespace:Lemur.GUI}ResizableWindow'.' Line number '9' and line position '4'.
хотя я загружаю эти элементы управления из программы, которая уже создала экземпляры этих типов и использует их. Насколько я понимаю, мне пришлось бы загрузить сборки, содержащие эти элементы управления WPF и связанные с ними типы, однако я не понимаю, почему они еще не загружены, поскольку, как я уже сказал, мы уже создаем их экземпляры и используем их.< /p>
Я пытался загрузить сборки вручную в свой домен приложений, но безрезультатно; Кажется, я не могу ссылаться на эти типы, определенные в приложении, загружающем динамические документы xaml, внутри фактически загруженных документов.
Это мой код загрузки XAML:

Код: Выделить всё

 public static UserControl? ParseUserControl(string xaml) {
var task = Computer.Current.Window.Dispatcher.InvokeAsync(() => {
try {
return XamlReader.Parse(xaml) as UserControl;
}
catch (XamlParseException ex) {
Notifications.Now($"XAML parsing error: {ex.Message}");
}
return null;
});
task.Wait();
return task.Result;
}
Как мне обеспечить надежную загрузку этих документов?


Подробнее здесь: https://stackoverflow.com/questions/789 ... ocal-types
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»