2015-08-25 5 views
-1

В настоящее время у меня есть одно окно, разработанное в WPF и закодированное на C#. Я хочу, чтобы одна из моих кнопок открыла другое окно, которое я также хотел бы создать в WPF. Каков наилучший способ для меня сделать это? Могу ли я создавать несколько файлов xaml и вызывать их из того же класса .cs? Или мне нужен только один файл xaml? Я попытался добавить новое окно в свой xaml, но это не позволит мне это сделать. Я хочу, чтобы весь код находился в одном классе C#.Создание нового окна WPF из класса C#

ответ

1

Да, вы можете иметь несколько файлов XAML и вызывать их из того же файла .cs.

Например, предположим, что у вас есть Window1.xaml и Window2.xaml. Window1 это главное окно, а код позади будет выглядеть следующим образом:

public partial class Window1 : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 
} 

В Window1 есть кнопка под названием btnOpenWindow. По щелчку, вы можете сделать это, чтобы открыть Window2:

private void btnOpenWindow_Click(object sender, RoutedEventArgs e) 
{ 
    var window = new Window2(); 
    window.Show(); 
} 

Затем открывается новый Window2.

Однако вы не сможете получить информацию о событиях или других событиях от Window2 в Window1.xaml.cs, очевидно, что вы будете контролировать это в Window2.xaml.cs.

-1

Вы должны использовать шаблон MVVM в своем проекте. Итак, у вас есть разные окна и только один ViewModel для переноса этих представлений и ваших данных.

Посмотрите: MVVM: Tutorial from start to finish?

Смежные вопросы