Как открыть второе окно из первого windows в WPF?

Я новичок в WPF. У меня есть два windows, например window1 и window2. У меня есть одна кнопка в окне1. Если я нажму на эту кнопку, откроется окно2. Что я должен сделать для этого?

Вот код, который я пробовал:

window2.show(); 

Напишите свой код в window1 .

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

Вам нужно создать новое приложение WPF. После этого вы должны иметь файл .xaml и файл .cs. Они представляют ваше главное окно. Создайте дополнительный файл .xaml и .cs для представления вашего дополнительного windows.

MainWindow.xaml

      

MainWindow.xaml.cs

 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void ButtonClicked(object sender, RoutedEventArgs e) { SubWindow subWindow = new SubWindow(); subWindow.Show(); } } 

Затем добавьте дополнительный код, необходимый для этих classов:

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

Это помогло мне: метод Owner в основном привязывает окно к другому окну, если вам нужны дополнительные windows с теми же.

 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 () также открывает окно, но в этом случае вы не можете закрыть свое ранее открытое окно.

Предполагая, что второе окно определено как public partial class Window2 : Window , вы можете сделать это:

 Window2 win2 = new Window2(); win2.Show(); 

Вам нужно будет создать экземпляр нового windows.

 var window2 = new Window2(); 

Если у вас есть экземпляр, вы можете использовать метод Show () или ShowDialog () в зависимости от того, что вы хотите сделать.

 window2.Show(); 

или

 var result = window2.ShowDialog(); 

ShowDialog () вернет Nullable если вам это нужно.

Вы можете создать кнопку в окне1 и дважды щелкнуть по ней. Он создаст новый обработчик кликов, внутри которого вы можете написать что-то вроде этого:

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

Вы можете использовать этот код:

 private void OnClickNavigate(object sender, RoutedEventArgs e) { NavigatedWindow navigatesWindow = new NavigatedWindow(); navigatesWindow.ShowDialog(); } 
  • Ускорить добавление объектов к canvasу В WPF
  • Как добавить поведение Blend в стильном сеттере
  • Как WPF UserControl наследует WPC UserControl?
  • WPF CommandParameter NULL первый раз, когда вызывается CanExecute
  • WPF Canvas, как динамически добавлять детей с кодом MVVM
  • WPF / MVVM - как обрабатывать двойной щелчок на TreeViewItems в ViewModel?
  • почему установка ScrollViewer.CanContentScroll в false отключает виртуализацию
  • Установка DataContext в XAML в WPF
  • Как преобразовать размер WPF в физические пиксели?
  • Безопасность WPF по защите данных?
  • WPF привязка событий пользовательского интерфейса к командам в ViewModel
  • Interesting Posts
    Давайте будем гением компьютера.