Відповіді:
Коли ви створили нову програму WPF, ви повинні мати .xaml файл та .cs файл. Вони представляють ваше головне вікно. Створіть додатковий .xaml-файл та .cs-файл, щоб представити своє підпрозоре вікно.
<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();
}
}
Потім додайте необхідний додатковий код до цих класів:
SubWindow.xaml
SubWindow.xaml.cs
Припускаючи, що друге вікно визначено як public partial class Window2 : Window
, ви можете це зробити:
Window2 win2 = new Window2();
win2.Show();
Це допомогло мені: метод Власник в основному пов'язує вікно з іншим вікном, якщо ви хочете зайві вікна з тими ж.
LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();
Розглянемо це також.
this.WindowState = WindowState.Normal;
this.Activate();
У WPF у нас є пара варіантів за допомогою методів Show () та ShowDialog ().
Ну, якщо ви хочете закрити відкрите вікно, коли відкриється нове вікно, тоді ви можете скористатися методом Show ():
Window1 win1 = new Window1();
win1.Show();
win1.Close();
ShowDialog () також відкриває вікно, але в цьому випадку ви не можете закрити раніше відкрите вікно.
Вам потрібно буде створити екземпляр нового вікна, як це.
var window2 = new Window2();
Отримавши примірник, ви можете використовувати метод Show () або ShowDialog () залежно від того, що ви хочете зробити.
window2.Show();
або
var result = window2.ShowDialog();
ShowDialog () поверне a, Nullable<bool>
якщо вам це потрібно.