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();
        }
    }
}
``
C# WPF实现模态框

原文地址: https://www.cveoy.top/t/topic/hhNf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录