it-swarm.com.de

Wie öffne ich ein zweites Fenster aus dem ersten Fenster in WPF?

Ich bin neu bei WPF. Ich habe zwei Fenster wie window1 und window2. Ich habe eine Schaltfläche in window1. Wenn ich auf diese Schaltfläche klicke, muss sich das Fenster 2 öffnen. Was soll ich dafür tun?

Hier ist der Code, den ich ausprobiert habe:

window2.show();
110
ASHOK A

Schreibe deinen Code in window1.

private void Button_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
    this.Close();
}
205
Chandru A

Sie möchten eine neue WPF-Anwendung erstellen. Sobald Sie dies getan haben, sollten Sie eine .xaml-Datei und eine .cs-Datei haben. Diese stellen Ihr Hauptfenster dar. Erstellen Sie eine zusätzliche .xaml-Datei und eine .cs-Datei, um Ihr Unterfenster darzustellen.

MainWindow.xaml

<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>

MainWindow.xaml.cs

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 den gewünschten zusätzlichen Code hinzu:

SubWindow.xaml
SubWindow.xaml.cs
35
TokyoMike
private void button1_Click(object sender, RoutedEventArgs e)
{
    window2 win2 = new window2();
    win2.Show();
}
17
KF2

In WPF haben wir einige Optionen mit den Methoden Show () und ShowDialog ().

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.

5
user1399377

Dies hat mir geholfen: Die Owner-Methode bindet das Fenster grundsätzlich an ein anderes Fenster, falls Sie zusätzliche Fenster mit denselben Fenstern möchten.

LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();

Betrachten Sie dies auch.

this.WindowState = WindowState.Normal;
this.Activate();
5
Jeandre Van Dyk

Angenommen, das zweite Fenster ist definiert als public partial class Window2 : Window, Sie können es tun, indem Sie:

Window2 win2 = new Window2();
win2.Show();
4
Vladislav Zorov

Sie können eine Schaltfläche in window1 erstellen und darauf doppelklicken. Es wird ein neuer Klick-Handler erstellt, in den Sie Folgendes schreiben können:

var window2 = new Window2();
window2.Show();
2
LadislavM

Sie können diesen Code verwenden:

private void OnClickNavigate(object sender, RoutedEventArgs e)
{
    NavigatedWindow navigatesWindow = new NavigatedWindow();
    navigatesWindow.ShowDialog();
}
2
ibmstafa

Sie müssen wie folgt eine Instanz eines neuen Fensters erstellen.

var window2 = new Window2();

Sobald Sie die Instanz haben, können Sie die Methode Show () oder ShowDialog () verwenden, je nachdem, was Sie tun möchten.

window2.Show();

oder

var result = window2.ShowDialog();

ShowDialog () gibt ein Nullable<bool> wenn du das brauchst.

2
Jeff