Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以直接在WPF中调用javascript而不使用browser对象吗_C#_Javascript_Wpf - Fatal编程技术网

C# 我可以直接在WPF中调用javascript而不使用browser对象吗

C# 我可以直接在WPF中调用javascript而不使用browser对象吗,c#,javascript,wpf,C#,Javascript,Wpf,我希望能够制作一个直接在WPF应用程序上使用开放层的应用程序。我发现我可以创建一个浏览器对象并让它调用JavaScript,但我不需要一个完整的浏览器。是否有一些脚本对象可以一起使用并绕过浏览器对象?只有WPF中的WebBrowser可以运行javascript myWebBrowser.ObjectForScripting = new HtmlBridge(); 在NetFramework中使用JavaScript不需要web浏览器或WebBrowser控件。NET框架有一个内置的Jav

我希望能够制作一个直接在WPF应用程序上使用开放层的应用程序。我发现我可以创建一个浏览器对象并让它调用JavaScript,但我不需要一个完整的浏览器。是否有一些脚本对象可以一起使用并绕过浏览器对象?

只有WPF中的WebBrowser可以运行javascript

 myWebBrowser.ObjectForScripting =  new HtmlBridge();

在NetFramework中使用JavaScript不需要web浏览器或WebBrowser控件。NET框架有一个内置的JavaScript实现,它实现了JavaScript/ECMAScript的超集,如前所述和所述

要使用NET Framework的内置JavaScript实现,请执行以下操作:

  • 添加对
    Microsoft.JScript
    程序集的引用
  • 使用
    new JScript CodeProvider().CreateCompiler().CompileAssemblyFromSource(…).CompiledAssembly
    将JavaScript编译为程序集
  • 像往常一样调用编译程序集中的代码(GetType/GetMethod/Invoke)

  • 请注意,如果您的JavaScript代码设计用于操作DOM或使用web浏览器的其他功能,您仍然可以使用NET Framework版本的JavaScript,但您必须自己提供预期的对象。

    请参阅Ray Burns的答案