Antworten:
Write your code in window1
.
private void Button_Click(object sender, RoutedEventArgs e)
{
window2 win2 = new window2();
win2.Show();
}
Wenn Sie eine neue WPF-Anwendung erstellt haben, sollten Sie eine .xaml-Datei und eine .cs-Datei haben. Diese repräsentieren Ihr Hauptfenster. Erstellen Sie eine zusätzliche .xaml- und .cs-Datei, um Ihr Unterfenster darzustellen.
<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();
}
}
Fügen Sie diesen Klassen dann den zusätzlichen Code hinzu, den Sie benötigen:
SubWindow.xaml
SubWindow.xaml.cs
Angenommen, das zweite Fenster ist definiert als public partial class Window2 : Window
: Sie können dies tun durch:
Window2 win2 = new Window2();
win2.Show();
Dies hat mir geholfen: Die Owner-Methode bindet das Fenster grundsätzlich an ein anderes Fenster, falls Sie zusätzliche Fenster mit denselben wünschen.
LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();
Bedenken Sie dies auch.
this.WindowState = WindowState.Normal;
this.Activate();
In WPF haben wir einige Optionen, indem wir die Methoden Show () und ShowDialog () verwenden.
Wenn Sie das geöffnete Fenster schließen möchten, wenn ein neues Fenster geöffnet wird, können Sie die Show () -Methode verwenden:
Window1 win1 = new Window1();
win1.Show();
win1.Close();
ShowDialog () öffnet auch ein Fenster, aber in diesem Fall können Sie Ihr zuvor geöffnetes Fenster nicht schließen.
Sie müssen eine solche Instanz eines neuen Fensters erstellen.
var window2 = new Window2();
Sobald Sie die Instanz haben, können Sie die Show () - oder ShowDialog () -Methode verwenden, je nachdem, was Sie tun möchten.
window2.Show();
oder
var result = window2.ShowDialog();
ShowDialog () gibt ein zurück, Nullable<bool>
wenn Sie das brauchen.