📌  相关文章
📜  打开新窗口 c# wpf - C# (1)

📅  最后修改于: 2023-12-03 15:39:42.850000             🧑  作者: Mango

打开新窗口 C# WPF

在WPF应用程序中,我们通常需要打开新的窗口来展示不同的视图和功能。本文将介绍如何在C#中使用WPF框架打开新窗口。

创建新窗口

首先,我们需要创建一个新的WPF窗口。在Solution Explorer中右键单击项目,选择“添加”->“新建项”,选择“WPF”和“窗口”模板,然后命名新的窗口。例如,我们将其命名为“NewWindow.xaml”。

新窗口的XAML代码将如下所示:

<Window x:Class="WpfApp1.NewWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="NewWindow" Height="450" Width="800">
    <Grid>

    </Grid>
</Window>

现在我们有了一个新的窗口,但我们还没有打开它。

打开新窗口

我们可以使用以下代码打开新窗口:

NewWindow newWindow = new NewWindow();
newWindow.Show();

首先,我们实例化了NewWindow类的一个对象。然后,我们调用Show()方法来显示该窗口。

请注意,Show()方法是非模态的,底下的窗口可以继续处理事件。如果你想要一个模态的窗口即便窗口已经弹出,下面的窗口也无法操作,可以使用ShowDialog()方法。

以下是完整的打开新窗口的代码片段:

private void OpenNewWindowButton_Click(object sender, RoutedEventArgs e)
{
    NewWindow newWindow = new NewWindow();
    newWindow.Show();
}

这么简单,你就可以创建并打开一个新的窗口了!

传递参数到新窗口

有时候我们需要在打开新窗口的时候传递一些参数。我们可以在打开新窗口之前设置一些属性,然后在新窗口中读取它们。例如,我们可以传递一个字符串到新窗口中。

在打开新窗口之前,设置属性:

NewWindow newWindow = new NewWindow();
newWindow.MyProperty = "Hello, world!";
newWindow.Show();

在新窗口的代码中,我们可以读取该属性:

public partial class NewWindow : Window
{
    public string MyProperty { get; set; }

    public NewWindow()
    {
        InitializeComponent();
        MyLabel.Content = MyProperty;
    }
}

我们添加了一个名为“MyProperty”的属性,并将其设置为公共属性,因此它可以从任何位置访问。当新窗口被创建时,在窗口的构造函数中,我们将MyLabel的内容设置为MyProperty的值。

以下代码展示了如何打开新窗口并传递参数:

private void OpenNewWindowButton_Click(object sender, RoutedEventArgs e)
{
    NewWindow newWindow = new NewWindow();
    newWindow.MyProperty = "Hello, world!";
    newWindow.Show();
}
<Window x:Class="WpfApp1.NewWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="NewWindow" Height="450" Width="800">
    <Grid>
        <Label x:Name="MyLabel" Content="" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>
</Window>
结论

在C#中打开新窗口只需要几行代码。我们可以创建一个新的窗口,并使用Show()方法打开它。我们还可以在打开新窗口之前设置属性,并在新窗口中读取它们。

希望这篇文章对于初学WPF的开发者能有所帮助。