直接投射任何窗口,而不仅仅是主窗口



我一直在尝试使用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)

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

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

正确的语法如下。

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

相关内容

最新更新