有必要跟踪WebView 2中的链接更改。我在VM中有以下代码:
虚拟机
private Uri _myHtml;
public Uri MyHtml
{
get { return _myHtml; }
set
{
_myHtml = value;
CheckUri(MyHtml);
OnPropertyChanged();
OnPropertyChanged(nameof(MyHtml));
}
}
虚拟机数据库
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
var e = new PropertyChangedEventArgs(propertyName);
handler(this, e);
}
}
查看XAML
<Wpf:WebView2 Name="webView"
Source="{Binding MyHtml, UpdateSourceTrigger=Explicit}" Grid.RowSpan="2" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
遗憾的是,只有当“MyHTML”变量被直接赋值时才会触发“set”上的断点。
1条答案
按热度按时间ee7vknir1#
你有两个选择
1.将
Mode
设置为“双向”,然后删除UpdateSourceTrigger=Explicit
1.如果你想保持
Explicit
模式,你必须调用UpdateSource()
来更新绑定的属性(即MyHtml
)。这可以通过如下处理NavigationCompleted
事件来完成。在.xaml中
在.xaml.cs中
请注意,在这两个选项中,您都需要
Mode=TwoWay
。