【问题标题】:System.Reflection.TargetInvocationException' occurred in PresentationFramework.dll在 PresentationFramework.dll 中发生 System.Reflection.TargetInvocationException'
【发布时间】:2013-04-16 10:50:09
【问题描述】:

我运行一个简单的C# WPF application,它使用嵌入其中的浏览器。当浏览器导航到给定的 url 时,我创建了一个事件。但是这个错误是在运行时出现的:

发生“System.Reflection.TargetInvocationException”类型的未处理异常 在 PresentationFramework.dll 中

附加信息:调用的目标已抛出异常。 代码如下,

public MainWindow()
{
    // Some initialisation
    webBrowser.Navigate(requiredUrl);
}

private void webBrowser_Navigated(object sender, NavigationEventArgs e)
{
    // Actions related to navigation
}

它正在抛出Exception

【问题讨论】:

  • 查看 TargetInvocationException 的 InnerException - 它会为您提供更多详细信息。
  • 您是否查看过堆栈跟踪或内部异常?
  • 我在放置“webBrowser.Navigate(requiredUrl);”后删除了异常在 Window_Loaded 事件中。但我不知道为什么?
  • 浏览器可能需要一个有效的幕后窗口句柄来完成它的工作,如果将导航移动到加载的事件工作你应该回答你自己的问题,它可能会再次与其他人一起出现。

标签: c# wpf exception webbrowser-control


【解决方案1】:

没关系,问题解决了..

将 webBrowser.Navigate(requiredUrl) 移动到 Windows_Loaded 事件。

       private void Window_Loaded(object sender, RoutedEventArgs e)
       {
         // Some code
          webBrowser.Navigate(requiredUrl);
       }

现在一切正常。

我认为正如安迪所说,窗口需要一个有效的浏览器句柄。

所以它不能在 MainWindow() 函数中工作,因为浏览器的句柄没有在其中创建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多