网页js调用c#webview wpf 函数
时间: 2023-12-11 08:02:33 浏览: 37
在C#中使用WebView2控件,可以通过以下步骤让网页中的JavaScript调用C#中的函数:
1. 首先,在C#中定义一个公共函数,该函数需要使用[BindToBound]属性进行注释,以便WebView2控件可以访问它。例如:
```csharp
public class MyObject
{
[BindToBound]
public void SayHello(string message)
{
Console.WriteLine($"Hello {message}!");
}
}
```
2. 在XAML文件中,将WebView2控件添加到窗口中:
```xml
<Window ...
xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
>
<Grid>
<wv2:WebView2 x:Name="webView" Source="https://www.example.com" />
</Grid>
</Window>
```
3. 在代码中,可以使用以下代码在WebView2控件加载完成后将C#对象注入到WebView2中:
```csharp
private async void WebView_CoreWebView2Ready(object sender, RoutedEventArgs e)
{
await webView.EnsureCoreWebView2Async();
webView.CoreWebView2.AddHostObjectToScript("MyObject", new MyObject());
}
```
4. 在网页中,你可以通过以下代码来调用C#中的函数:
```javascript
// 调用C#中的函数
window.chrome.webview.hostObjects.MyObject.SayHello("World!");
```
当你在网页中执行以上代码时,C#中定义的SayHello函数将会被调用,并且会输出“Hello World!”的信息。
以上就是让网页中的JavaScript调用C#中的函数的步骤。