我的UWP应用程序中有一个内容对话框,其中只有一个Web视图。该Web视图基本上显示了一个要求用户做出响应的网页。用户提交响应后,我想关闭此对话框。 content.xaml:
<localControls:CustomContentDialog
x:Class="Microsoft.ABC.Desktop.Views.RatingDialog">
<WebView name="Webview1" height="400" width="650"/>
</localControls:CustomContentDialog>
有什么想法,一旦我从加载的网页中收到一些回复,如何关闭该内容对话框?
答案 0 :(得分:0)
有什么想法,一旦我从加载的网页中收到一些回复,如何关闭该内容对话框?
您可以使用HTML中的window.external.notify
通知应用程序,然后使用ScriptNotify
事件处理程序监视消息。您可以遵循代码。有关更多信息,请参阅WebView
官方文档。
content.html
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<button onclick="submit()">Submit</button>
<script type="text/javascript">
function submit() {
window.external.notify('true');
}
</script>
</body>
</html>
CustomContentDialog.cs
public sealed partial class CustomContentDialog : ContentDialog
{
public CustomContentDialog()
{
this.InitializeComponent();
}
private void ContentDialog_Loaded(object sender, RoutedEventArgs e)
{
ContentWebView.ScriptNotify += ContentWebView_ScriptNotify;
}
private void ContentWebView_ScriptNotify(object sender, NotifyEventArgs e)
{
if (e.Value.ToString().Equals("true"))
{
this.Hide();
}
}
}