c# - WebBrowser.Source.AbsuloteUri 返回null,但我初始化了源
问题描述
我有一个简单的窗口,比如说,两个控件: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.
我应该怎么办?
解决方案
加载后尝试访问源
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 为空,则显示一个空白文档(“about:blank”)。
所以我假设源在加载之前为空。
推荐阅读
- javascript - ReactJs 卡头中的三元运算符
- asp.net-core - ASP.NET Core 3.1 和 Chrome 没有通过 HTTP 持久化 AspNet.Consent Cookie
- python - Dataframe 的多索引设置 - pandas/Jupyter
- java - 如何调用@injected 类
- java - Spring如何连接MongoDB?
- apache-spark - Spark kubernetes java.io.InvalidClassException:org.apache.spark.scheduler.cluster.CoarseGrainedClusterMessages$RetrieveSparkAppConfig$
- django - 未找到带有参数“(”,)”的“详细信息”的反向。尝试了 1 种模式:['users/(?P
[^/]+)/$'] - python - “径向高速公路的可达性指数”会被视为离散的数字数据还是有序的分类数据?
- python - datetime.now() - date.now() 返回 -1 天
- java - Java中的两人井字游戏-如何防止非整数输入