Respuestas:
Cuando haya creado una nueva aplicación WPF, debe tener un archivo .xaml y un archivo .cs. Estos representan su ventana principal. Cree un archivo .xaml y un archivo .cs adicionales para representar su ventana secundaria.
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Open Window" Click="ButtonClicked" Height="25" HorizontalAlignment="Left" Margin="379,264,0,0" Name="button1" VerticalAlignment="Top" Width="100" />
</Grid>
</Window>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ButtonClicked(object sender, RoutedEventArgs e)
{
SubWindow subWindow = new SubWindow();
subWindow.Show();
}
}
Luego agregue cualquier código adicional que necesite a estas clases:
SubWindow.xaml
SubWindow.xaml.cs
Suponiendo que la segunda ventana está definida como public partial class Window2 : Window
, puede hacerlo de la siguiente manera:
Window2 win2 = new Window2();
win2.Show();
Esto me ayudó: el método Propietario básicamente vincula la ventana a otra ventana en caso de que desee ventanas adicionales con las mismas.
LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();
Considere esto también.
this.WindowState = WindowState.Normal;
this.Activate();
En WPF tenemos un par de opciones usando los métodos Show () y ShowDialog ().
Bueno, si desea cerrar la ventana abierta cuando se abre una nueva ventana, puede usar el método Show ():
Window1 win1 = new Window1();
win1.Show();
win1.Close();
ShowDialog () también abre una ventana, pero en este caso no puede cerrar la ventana abierta anteriormente.
Deberá crear una instancia de una nueva ventana como esta.
var window2 = new Window2();
Una vez que tenga la instancia, puede usar el método Show () o ShowDialog () dependiendo de lo que desee hacer.
window2.Show();
o
var result = window2.ShowDialog();
ShowDialog () devolverá un Nullable<bool>
si lo necesita.