Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF WebBrowser中绑定源属性将不接受片段_C#_Wpf_Webbrowser Control - Fatal编程技术网

C# 在WPF WebBrowser中绑定源属性将不接受片段

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

我有一个WPF WebBrowser,其源属性绑定到另一个对象的string属性。当我更改另一个对象的字符串时,浏览器会正确更新到新地址,因此我知道绑定工作正常。我正在使用本地文件:///URL

我遇到的问题是当url有一个片段时,例如。file:///path/page.htmlanchor1. 在这种情况下,Source属性是用Uri设置的,但它不需要-当我在设置之后查看Source属性时,值是不变的

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);
        }
    }

你有没有找到解决办法?有一个类似的问题。。。