Código VB.NET:
Ver original
Dim NewWindow As New Mostrar NewWindow.SelectedFolder = SelectedFolder NewWindow.Show()
Hasta ahí bien, el problema es que cada vez que pulse ese botón, siempre va a crear una ventana nueva, aunque ya haya creado una que esté trabajando con esa carpeta.
Pareciera que ShowDialog es la solución evidente (de hecho es la que debo usar por ahora) pero me gustaría que el usuario pudiera abrir simultáneamente todas las ventanas que quiera, siempre y cuando no sean dos ventanas iguales trabajando con la misma carpeta.
En MSDN encontré esto: http://msdn.microsoft.com/es-es/libr....findname.aspx
De lo que creé mi propia adaptación en un proyecto de pruebas, pero no funciona:
Código VB.NET:
Ver original
Private Sub Button_Click(sender As Object, e As RoutedEventArgs) Dim wantedNode As Object = Me.FindName(NameTextBox.Text) ' NameTextBox es el nombre del cuadro de texto donde escribo el nombre de la nueva ventana. If TypeOf wantedNode Is Mostrar Then ' Mostrar es una clase de tipo Window. Dim wantedChild As Mostrar = TryCast(wantedNode, Mostrar) wantedChild.Focus() Else Dim NewWindow As New Mostrar NewWindow.Name = NameTextBox.Text NewWindow.Show() End If End Sub
¿El problema? pues que estoy buscando instancias de la ventana "Mostrar" en Me, y ante la evidencia no se pueden encontrar ahí. ¿Dónde entonces?
¿Tal vez alguna solución diferente?
Por cierto, estoy trabajando con WPF, que ya he visto que hay códigos que con WinForms funcionaban y con WPF ya no.
Gracias.