【问题标题】:DirectCast any window, not only main window?DirectCast 任何窗口,而不仅仅是主窗口?
【发布时间】:2013-12-25 16:42:00
【问题描述】:

我一直在尝试使用 DirectCast 在 VB.NET 等其他窗口中编辑变量。正如我使用的那样,这似乎与主窗口配合得很好

Private Main As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)

但是,我无法找到一种方法将它与主窗口以外的窗口一起使用。现在,我被困在使用这个

Dim WindowOne As New Window1
WindowOne.Show()

这可行,但我宁愿不必在每次打开窗口时都创建一个新的窗口实例。我试过使用

Private WindowOne As Window1 = DirectCast(Application.Current.Windows.OfType(Of Window1).First(), Window1)

但它总是给我一个错误,说“序列不包含任何元素”。

还有其他方法可以做到这一点吗?我做错了什么?

【问题讨论】:

  • 为什么不将其转换为Window
  • @Bjørn-Roger Kringsjå - 当我尝试将其转换为 Window 时,我收到消息“窗口是一种类型,不能用作表达式”。

标签: wpf vb.net window directcast


【解决方案1】:

正确的语法如下。

Private WindowOne As Window1 = Application.Current.Windows.OfType(Of Window1)().FirstOrDefault()
If Not WindowOne Is Nothing Then
  'object is available here
End If

【讨论】:

    猜你喜欢
    • 2020-04-24
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多