Я работаю над проектом, в котором клиентские приложения будут динамически загружать и выполнять свободные фрагменты XAML (и некоторый связанный код IronPython). Клиент будет использовать пользовательскую службу WCF (и некоторое локальное кэширование) для извлечения XAML, вспомогательных сценариев и связанных ресурсов (значки, изображения и т. Д.).
Я хотел бы зарегистрировать собственный протокол / схему URI, чтобы разработчикам динамических пакетов было проще ссылаться на их ресурсы, например:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="custom://MyPackage/Icons.xaml" />
<ResourceDictionary Source="custom://MyPackage/Styles.xaml" />
<!-- ^^^^^^ -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
</UserControl>
Насколько я могу судить, я могу получить пользовательский UriParser и зарегистрировать его , но это только полдела. Остальная работа заключается в предоставлении любого компонента, необходимого для разрешения пользовательского URI и получения необходимого содержимого.
Можно ли предоставить или переопределить функциональность в WPF, чтобы он мог вызывать мою службу пользовательских данных при обнаружении одного из моих пользовательских URI? Или, если это невозможно, есть ли альтернатива?