C# 在WPF WebBrowser中绑定源属性将不接受片段
我有一个WPF WebBrowser,其源属性绑定到另一个对象的string属性。当我更改另一个对象的字符串时,浏览器会正确更新到新地址,因此我知道绑定工作正常。我正在使用本地文件:///URL 我遇到的问题是当url有一个片段时,例如。file:///path/page.htmlanchor1. 在这种情况下,Source属性是用Uri设置的,但它不需要-当我在设置之后查看Source属性时,值是不变的C# 在WPF WebBrowser中绑定源属性将不接受片段,c#,wpf,webbrowser-control,C#,Wpf,Webbrowser Control,我有一个WPF WebBrowser,其源属性绑定到另一个对象的string属性。当我更改另一个对象的字符串时,浏览器会正确更新到新地址,因此我知道绑定工作正常。我正在使用本地文件:///URL 我遇到的问题是当url有一个片段时,例如。file:///path/page.htmlanchor1. 在这种情况下,Source属性是用Uri设置的,但它不需要-当我在设置之后查看Source属性时,值是不变的 public static void BindableSourcePropertyCha
public static void BindableSourcePropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
WebBrowser browser = o as WebBrowser;
if (browser != null)
{
Uri uri = e.NewValue as Uri;
if (uri != null && !string.IsNullOrEmpty(uri.OriginalString))
{
browser.Source = uri;
}
}
}
我已经完成了一步,以确保uri是正确的,并且浏览器是正确的;语句执行。没有抛出异常。当Uri有一个片段时,它只是不设置源值
我写了一个小例子,其中我直接用一个包含片段的Uri设置WebBrowser的源属性,效果很好
这个让我抓狂 我最终只是调用了导航方法
public static void BindableSourcePropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
WebBrowser browser = o as WebBrowser;
if (browser != null)
{
string uri = e.NewValue as string;
browser.Navigate(uri);
}
}
你有没有找到解决办法?有一个类似的问题。。。