C# WPF实现模态框
C# WPF实现模态框的步骤如下:
1.创建一个新的WPF应用程序。
2.在MainWindow.xaml文件中,添加一个Grid控件。
3.在Grid控件中添加两个子控件,一个是内容控件,一个是遮罩控件。
4.设置内容控件的ZIndex属性为1,遮罩控件的ZIndex属性为2。
5.为遮罩控件设置一个透明度,使得内容控件可以透过遮罩控件看到。
6.为遮罩控件添加一个鼠标单击事件,以关闭模态框。
7.在MainWindow.xaml.cs文件中,添加一个ShowModal方法,用于显示模态框。
8.在ShowModal方法中,设置遮罩控件和内容控件的Visibility属性。
9.在MainWindow.xaml.cs文件中,添加一个CloseModal方法,用于关闭模态框。
10.在CloseModal方法中,设置遮罩控件和内容控件的Visibility属性。
11.在需要显示模态框的地方,调用ShowModal方法。
12.在需要关闭模态框的地方,调用CloseModal方法。
示例代码如下:
MainWindow.xaml文件:
<Window x:Class="ModalDialog.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>
<!-- 遮罩层 -->
<Rectangle x:Name="overlay" Fill="#80000000" Visibility="Collapsed" MouseDown="overlay_MouseDown" />
<!-- 内容层 -->
<Grid x:Name="content" Background="White" Visibility="Collapsed" Width="300" Height="200" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="这是一个模态框" VerticalAlignment="Center" HorizontalAlignment="Center" />
</Grid>
</Grid>
</Window>
MainWindow.xaml.cs文件:
using System.Windows;
namespace ModalDialog
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
// 显示模态框
private void ShowModal()
{
overlay.Visibility = Visibility.Visible;
content.Visibility = Visibility.Visible;
}
// 关闭模态框
private void CloseModal()
{
overlay.Visibility = Visibility.Collapsed;
content.Visibility = Visibility.Collapsed;
}
// 遮罩层鼠标单击事件,关闭模态框
private void overlay_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
CloseModal();
}
// 显示模态框按钮单击事件
private void btnShowModal_Click(object sender, RoutedEventArgs e)
{
ShowModal();
}
// 关闭模态框按钮单击事件
private void btnCloseModal_Click(object sender, RoutedEventArgs e)
{
CloseModal();
}
}
}
``
原文地址: https://www.cveoy.top/t/topic/hhNf 著作权归作者所有。请勿转载和采集!