提问人:Арсен Абдигали 提问时间:10/3/2020 最后编辑:Athanasios KatarasАрсен Абдигали 更新时间:10/4/2020 访问量:66
WebBrowser.Source.AbsuloteUri 返回 null,但我初始化了源代码
WebBrowser.Source.AbsuloteUri return null, but I initialized the source
问:
我有一个简单的窗口,比方说,有两个控件:WebBrowser 和 TextBox。
<TextBox Name="uriTextBox"/>
<WebBrowser Name="webPageWebBrowser"/>
和带有构造函数的 MainWindow.xaml.cs:
public MainWindow()
{
InitializeComponent();
webPageWebBrowser.Source = new Uri("https://google.com");
uriTextBox.Text = webPageWebBrowser.Source.AbsoluteUri;
}
因此,webPageWebBrowser.Source 会引发异常:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
System.Windows.Controls.WebBrowser.Source.get returned null.
我该怎么办?
答:
0赞
Athanasios Kataras
10/3/2020
#1
加载源后,尝试访问源
public MainWindow()
{
InitializeComponent();
webPageWebBrowser.Source = new Uri("https://google.com");
webPageWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
}
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
uriTextBox.Text = webPageWebBrowser.Source.AbsoluteUri;
}
从文档中:
设置 source 属性会导致 WebBrowser 导航到 Uri 指定的文档。如果 Uri 为 null,则显示空白文档 (“about:blank”)。
因此,我假设源在加载之前为 null。
评论