有没有办法阻止用户点击并输入WPF WebBrowser?在我看来,它只能在WinForms中执行此操作。
我尝试过的事情:
browser.IsEnabled = false;
- 无效,仍可点击(导航)并输入文字browser.Focusable = false;
- 同样browser_MouseDown
的e.Handled = true;
事件 - 该事件由于某种原因未在鼠标按下时调用我的尝试中是否有错过或做错的事情?
答案 0 :(得分:1)
三个事件和布尔为我做了。
bool BrowserIsLoaded = false;
private void Browser_LoadCompleted(object sender, NavigationEventArgs e)
{
BrowserIsLoaded = true;
}
private void Browser_Navigating(object sender, NavigatingCancelEventArgs e)
{
if(BrowserIsLoaded)
e.Cancel = true;
}
private void Browser_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (BrowserIsLoaded)
e.Handled = true;
}
当浏览器加载完毕后,它会触发LoadCompleted事件。设置布尔值,然后在尝试键入框时尝试导航到新页面时进行检查。
如果您不想使用自己的布尔值(我将其用于其他事情,这对我来说很有意义),您可以在需要时询问浏览器是否已加载:
private void Browser_Navigating(object sender, NavigatingCancelEventArgs e)
{
WebBrowser wb = (WebBrowser)sender;
if(wb.IsLoaded)
{
e.Cancel = true;
}
}