wpf 如何弹出一个page 模态
时间: 2024-01-24 22:05:41 浏览: 106
在WPF中,可以使用一个Window控件来实现模态对话框,其中包含一个Frame控件来承载Page。
以下是一个简单的示例代码,演示如何使用Window和Frame控件来弹出一个Page模态对话框:
```xaml
<Window x:Class="ModalPageDemo.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 Modal Page" Click="Button_Click"/>
</Grid>
</Window>
```
```csharp
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var modalWindow = new Window
{
SizeToContent = SizeToContent.WidthAndHeight,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
Owner = this,
Title = "Modal Page"
};
var frame = new Frame
{
Content = new ModalPage()
};
modalWindow.Content = frame;
modalWindow.ShowDialog();
}
}
```
在这个示例中,我们创建了一个MainWindow窗口,其中包含一个按钮。当用户单击按钮时,我们创建了一个新的Window并将其设置为模态对话框。然后,我们在这个Window中添加了一个Frame控件,并将其内容设置为我们想要显示的Page(在这个示例中,我们使用了一个名为ModalPage的自定义Page控件)。
最后,我们使用ShowDialog方法显示这个模态对话框,使用户无法与MainWindow进行交互,直到他们关闭了这个模态窗口。
阅读全文