我正在开发自定义控件,其控件模板中包含WebBrowser控件。创建自定义控件和访问控件模板内的WebBrowser没有任何问题,但我有一种情况,OnAppyTemplate方法需要动态加载HTML文件,该文件位于相同的自定义控件库DLL中。这是我目前正在使用的代码,但是当我尝试访问文件时,streamResourceInfo始终为null
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
_host = GetTemplateChild("PART_BrowserHost") as WebBrowser;
if (_host == null) return;
_host.LoadCompleted += HostOnLoadCompleted;
var uri = new Uri(@"pack://application:,,,/Taicodev.Shark.Controls;component/EpubReader/Resources/Book.html", UriKind.Absolute);
var streamResourceInfo = Application.GetContentStream(uri);
var source = streamResourceInfo.Stream;
_host.NavigateToStream(source);
}
答案 0 :(得分:0)
是文件资源的构建操作还是EmbeddedResource?后者需要使用GetManifestResourceStream而不是包Uri。如果是资源,您是否验证了这是资源的正确名称?例如。在reflector / ilspy中查看该程序集的资源。