DirectCast любое окно, а не только главное окно?
Я пытался редактировать переменные в других окнах, как в VB.NET, используя DirectCast. Кажется, это работает очень хорошо с главным окном, так как я использую
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)
но это всегда дает мне ошибку, говоря, что "последовательность не содержит элементов".
Есть ли другой способ сделать это? Что я делаю неправильно?
1 ответ
Решение
Правильный синтаксис ниже.
Private WindowOne As Window1 = Application.Current.Windows.OfType(Of Window1)().FirstOrDefault()
If Not WindowOne Is Nothing Then
'object is available here
End If