0

我正在开发自定义控件,其中包括其控件模板中的 WebBrowser 控件。在控件模板中创建自定义控件和访问 WebBrowser 没有任何问题,但我有一种情况,即 OnAppyTemplate 方法需要动态加载同一自定义控件库 DLL 中的 HTML 文件。这是我目前正在使用的代码,但是当我尝试访问文件时 streamResourceInfo 始终为空

    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);
    }
4

1 回答 1

0

是文件资源的构建操作还是 EmbeddedResource?后者需要使用GetManifestResourceStream而不是包 Uri。如果它是资源,您是否已验证这是资源的正确名称?例如,在反射器/ilspy 中查看该组件的资源。

于 2013-02-14T01:55:52.770 回答