如何在WPF应用程序的同一窗口中打开窗体

本文关键字:窗口 开窗 窗体 WPF 应用程序 | 更新日期: 2023-09-27 17:57:30

我正在学习c#WPF应用程序
我有一个菜单,上面有一个下拉列表。下拉列表中还有3个其他项目
现在单击一个项目,我想在同一窗口中显示该表单。

我所做的是创建了一个新的wpf表单,并从上一页导航它
但现在我想在同一页上打开它。

请帮助

XAML:

<Grid>
    <DockPanel Height="43" HorizontalAlignment="Stretch" Name="dockPanel1"
               VerticalAlignment="Top">
        <Menu Height="47" Name="menu1" Width="Auto" DockPanel.Dock="Top"
                VerticalAlignment="Top" HorizontalAlignment="Stretch" >
            <MenuItem Header="_Entry Form" >
                <MenuItem Header="_Student Details" Name="studentDetails" Click="studentDetails_Click_1"/>
                <MenuItem Header="_Faculty Details" Name="facultyDetails" />
                <Separator/>
                <MenuItem Header="E_xit" Name="exit" />
            </MenuItem>
        </Menu>
    </DockPanel>

CS-

 private void studentDetails_Click_1(object sender, RoutedEventArgs e)
    {
        // to navigate to a new page
        Student std = new Student();
        this.Close();
        std.Show();

    }

现在我不想导航,只想在同一窗口中显示学生页面

如何在WPF应用程序的同一窗口中打开窗体

首先,您需要添加表示Student类的XAML,可能是一堆TextBoxes,包装在某种容器中,如BorderGridStackPanel,并将容器的Visibility属性设置为Collapsed

单击该按钮后,可以使用适当的Student参数填充文本框(或其他UI元素),然后将容器的Visibility属性设置为Visible

不过,我真的建议您查看模型视图视图模型(MVVM)模式。有一点学习曲线,但这是值得投资的。