我是新来的wpf.I有两个窗口,比如window1和window2。我在window1中有一个按钮。如果我点击那个按钮,window2必须打开。我应该为此做些什么。这是我试过的代码。如何从wpf的第一个窗口打开第二个窗口?
Window2 win2 = new Window2();
win2.Show();
我是新来的wpf.I有两个窗口,比如window1和window2。我在window1中有一个按钮。如果我点击那个按钮,window2必须打开。我应该为此做些什么。这是我试过的代码。如何从wpf的第一个窗口打开第二个窗口?
Window2 win2 = new Window2();
win2.Show();
在window1
中写下您的代码。
private void Button_Click(object sender, RoutedEventArgs e)
{
window2 win2 = new window2();
win2.Show();
this.Close();
}
我可以在Window_Loaded事件上写这行吗?如果是这样,那么第二个窗口不显示。 –
把'this.Close()'放在任何窗口加载事件中可能不是一个好主意。 – StingyJack
假设第二个窗口被定义为public partial class Window2 : Window
,你可以做到这一点。这将创造新的Click处理程序,在里面你可以写这样的事情:
var window2 = new Window2();
window2.Show();
我想从window1打开window2。 –
您可以在其上创建的窗口1按钮,双击:
window2.show();
private void button1_Click(object sender, RoutedEventArgs e)
{
window2 win2 = new window2();
win2.Show();
}
你要创建一个新的WPF应用程序。一旦你完成了这个,你应该有一个.xaml文件和一个.cs文件。这些代表您的主窗口。创建一个额外的.xaml文件和.cs文件来表示您的子窗口。
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();
}
}
然后添加你需要这些类的任何额外的代码:
SubWindow.xaml SubWindow.xaml.cs
够简单!我讨厌wpf,它只是非常复杂而且被设计为反直觉。 –
除了这是错的。你不需要一个新的整个应用程序。只是一个新窗口。 –
在WPF中,我们通过使用Show()和ShowDialog()方法有几个选项。 那么,如果你想关闭打开的窗口时,新窗口得到开放的,那么你可以使用Show()方法
Window1 win1 = new Window1();
win1.Show();
win1.Close();
的ShowDialog()也打开一个窗口,但在这种情况下,你不能关闭先前打开的窗口。
您可以使用此代码,希望能帮助你
private void OnClickNavigate(object sender, RoutedEventArgs e)
{
NavigatedWindow navigatesWindow = new NavigatedWindow();
navigatesWindow.ShowDialog();
}
谢谢:)
你需要像这样创建一个新窗口的一个实例。
var window2 = new Window2();
一旦你的情况下,你可以根据你想要做什么用的Show()或ShowDialog()方法。
window2.Show();
或
var result = window2.ShowDialog();
的ShowDialog()将返回一个Nullable<bool>
如果你需要。
这帮了我: 所有者方法基本上将窗口绑定到另一个窗口,以防您想要额外的窗口使用相同的窗口。
LoadingScreen lc = new LoadingScreen();
lc.Owner = this;
lc.Show();
请考虑这一点。
this.WindowState = WindowState.Normal;
this.Activate();
你有什么试过的?除非你有特别的问题,否则你可以通过搜索找到基本的东西。 – Reniuz