任何人都可以指导我在导航时如何在WPF中为Webbrowser触发MVVM命令。
虽然代码在运行时给出了以下错误:
Provide value on 'System.Windows.Data.Binding' threw an exception.
XAML <: WebBrowser Name="Browser" Navigating="{Binding Path=NavigateCommand}" > </WebBrowser>
如果我使用代码隐藏方法来导航事件,则相同的代码可以正常工作。
请求您了解如何将视图模型委托命令绑定到WebBrowser的导航事件。
答案 0 :(得分:0)
WebBrowser.Navigating
是一个事件,而不是命令,因此您无法将其绑定到视图模型实现的命令。相反,您需要在视图中处理事件,并手动调用视图模型。
这样的事情(假设你的视图中有一个名为ViewModel
的属性,它是对视图的视图模型的引用):
XAML:
<WebBrowser x:Name="Browser" Navigating="OnNavigating" />
代码背后:
private void OnNavigating(object sender, NavigatingCancelEventArgs e)
{
ViewModel.NavigateCommand.Execute(null);
}