使用 WebBrowser 控件在 WPF 中打开 3D 场景
Opening a 3D scene in WPF using WebBrowser control
我使用 Marmoset Toolbag
建模并渲染了一个 3D 场景,并将其导出到 Viewer file
。这将给我一个 .mscene
文件和一个 html
文件。我所要做的就是将它们放在同一个文件夹中,然后使用激活了 webgl
且可以正常工作的浏览器打开 html
文件。例如,它可以使用 FireFox
。
但是,当我希望将它加载到我的 WPF 应用程序中的 grid
时,它只会显示错误,例如_脚本错误:页面命令错误_(错误消息是我的翻译,抱歉)。 错误代码:0。行:0,字符:0。我总是说继续,但最后我得到的只是一个空白页面。
这是我为打开它而编写的代码:
private void ShowDumbbellMethod()
{
var targetGrid = (parent as BrowseWares).ViewerGrid;
var viewer = new WebBrowser();
viewer.Source = new Uri("C:\Users\agoston\Documents\Visual Studio 2015\Projects\HP_hf_shop\HP_hf_shop\HTML\dumbbell.html");
targetGrid.Children.Add(viewer);
}
URI
暂时指向我的项目。
如何让它工作?我在互联网上看到的都是 WebControl
可追溯到 2013 年的 webgl。
只有IE11支持WebGL,WPF的WebBrowser控件默认使用IE7引擎。但是可以使 WebBrowser 使用最新的引擎。请看一下 here 以了解如何操作。
或者,您可以使用 CefSharp 而不是 WebBrowser 控件。
我使用 Marmoset Toolbag
建模并渲染了一个 3D 场景,并将其导出到 Viewer file
。这将给我一个 .mscene
文件和一个 html
文件。我所要做的就是将它们放在同一个文件夹中,然后使用激活了 webgl
且可以正常工作的浏览器打开 html
文件。例如,它可以使用 FireFox
。
但是,当我希望将它加载到我的 WPF 应用程序中的 grid
时,它只会显示错误,例如_脚本错误:页面命令错误_(错误消息是我的翻译,抱歉)。 错误代码:0。行:0,字符:0。我总是说继续,但最后我得到的只是一个空白页面。
这是我为打开它而编写的代码:
private void ShowDumbbellMethod()
{
var targetGrid = (parent as BrowseWares).ViewerGrid;
var viewer = new WebBrowser();
viewer.Source = new Uri("C:\Users\agoston\Documents\Visual Studio 2015\Projects\HP_hf_shop\HP_hf_shop\HTML\dumbbell.html");
targetGrid.Children.Add(viewer);
}
URI
暂时指向我的项目。
如何让它工作?我在互联网上看到的都是 WebControl
可追溯到 2013 年的 webgl。
只有IE11支持WebGL,WPF的WebBrowser控件默认使用IE7引擎。但是可以使 WebBrowser 使用最新的引擎。请看一下 here 以了解如何操作。
或者,您可以使用 CefSharp 而不是 WebBrowser 控件。