До сих пор мне не приходилось этого делать, но теперь мне нужно сослаться на пользовательский элемент управления, определенный в нашем основном приложении 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'.
Я пытался загрузить сборки вручную в свой домен приложений, но безрезультатно; Кажется, я не могу ссылаться на эти типы, определенные в приложении, загружающем динамические документы 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