如何在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();
}
现在我不想导航,只想在同一窗口中显示学生页面
首先,您需要添加表示Student
类的XAML,可能是一堆TextBoxes
,包装在某种容器中,如Border
、Grid
或StackPanel
,并将容器的Visibility
属性设置为Collapsed
。
单击该按钮后,可以使用适当的Student
参数填充文本框(或其他UI元素),然后将容器的Visibility
属性设置为Visible
。
不过,我真的建议您查看模型视图视图模型(MVVM)模式。有一点学习曲线,但这是值得投资的。