【问题标题】:My.Application.MainWindow is NothingMy.Application.MainWindow 什么都不是
【发布时间】:2015-01-09 05:35:33
【问题描述】:

在使用 Visual Studio 将 VB 项目中的 MainWindow.xaml 移动到项目文件夹 Windows\MainWindow.xaml 后,我遇到了一些麻烦(引用损坏等)。我需要重新创建 MainWindow.xaml 来解决它们(这是很久以前的事了,我不记得了)。

目前,变量My.Application.MainWindow 在运行时包含Nothing

我将该项目与My.Application.MainWindow 在运行时包含正确引用的空白项目进行了比较,发现在原始项目中没有设置My.Application.MainWindow 被省略(或类似内容)的地方。

您是否有任何经验 My.Application.MainWindow 在 VisualStudio 2012 项目中被初始化?

Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As StartupEventArgs) Handles Me.Startup
    'next line throws NullReferenceException
    Debug.Print("My.Application.MainWindow.Name = " & My.Application.MainWindow.Name)
    'some other code here...
End Sub

【问题讨论】:

  • 项目 + 属性,应用程序选项卡,启动 URI 设置。
  • @HansPassant - 我希望它对汉斯有用。我检查了 5 次,我可以在那里看到正确的参考。我什至尝试将其更改为另一个窗口并返回。东西坏了:)
  • 用文本编辑器查看 .vbproj 文件,将其与新项目进行比较。
  • @HansPassant - 我已将所有内容移至新项目,只是为了找出问题出在其他地方:My.Application.MainWindow 值的生命周期有限。看看答案...

标签: vb.net visual-studio xaml visual-studio-2012 .net-3.5


【解决方案1】:

好的,似乎My.Application.MainWindow 指向主窗口对象只有在主窗口打开时。否则是Nothing所以我有两个问题:

  1. 在我的原始代码路径之一中,我不小心关闭了主窗口,所以在调用Close()My.Application.MainWindow 变成了Nothing

  2. 在问题中显示的代码中,检查My.Application.MainWindow 的值为时过早 - 因为主窗口尚未打开,所以是Nothing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2012-01-18
    • 2018-07-18
    • 1970-01-01
    • 2013-04-20
    • 2015-06-29
    • 2010-09-19
    相关资源
    最近更新 更多