जवाबों:
जब आपने एक नया 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 () विधियों का उपयोग करके कुछ विकल्प हैं।
यदि आप एक नई विंडो खोलने पर खुली हुई खिड़की को बंद करना चाहते हैं, तो आप शो () विधि का उपयोग कर सकते हैं:
Window1 win1 = new Window1();
win1.Show();
win1.Close();
ShowDialog () भी एक विंडो खोलता है, लेकिन इस मामले में आप अपनी पहले से खोली गई विंडो को बंद नहीं कर सकते।
आपको इस तरह की एक नई विंडो का एक उदाहरण बनाने की आवश्यकता होगी।
var window2 = new Window2();
एक बार आपके पास उदाहरण है कि आप क्या करना चाहते हैं, इसके आधार पर आप शो () या शो - डाइलॉग () विधि का उपयोग कर सकते हैं।
window2.Show();
या
var result = window2.ShowDialog();
ShowDialog () Nullable<bool>
यदि आप की जरूरत है कि वापस आ जाएगी