博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 界面交互使用的提示框
阅读量:3654 次
发布时间:2019-05-21

本文共 1420 字,大约阅读时间需要 4 分钟。

        DispatcherTimer timer_toast = new DispatcherTimer();

        public static class Events {

            public delegate void ToastEventHandler(string msg, int time);
            public static ToastEventHandler OnToast;
            public static ToastEventHandler OnToastMask;
        }

        public MainWindow() {

            InitializeComponent();

            timer_toast.Interval = TimeSpan.FromMilliseconds(3000);

            timer_toast.Tick += (sender1, e1) => {
                ui_toast.Dispatcher?.Invoke(() => { ui_toast.Visibility = Visibility.Hidden; });
                timer_toast.Stop();
            };

            Events.OnToast += (msg, time) => {

                timer_toast.Stop();
                if (msg.IsEmpty()) {
                    ui_toast.Dispatcher?.Invoke(() => {
                        ui_toast_text.Text = string.Empty;
                        ui_toast_mask.Visibility = Visibility.Hidden;
                        ui_toast.Visibility = Visibility.Hidden;
                        ui_toast_text.TextAlignment = TextAlignment.Center;
                    });
                    time = 1;
                } else {
                    ui_toast.Dispatcher?.Invoke(() => {
                        ui_toast_mask.Visibility = Visibility.Hidden;
                        ui_toast.Visibility = Visibility.Visible;
                        ui_toast_text.Text = msg;
                        ui_toast_text.TextAlignment = TextAlignment.Center;
                    });
                }
                timer_toast.Interval = TimeSpan.FromMilliseconds(time);
                timer_toast.Start();
            };

            Events.OnToastMask += (msg, time) => {

                timer_toast.Stop();
                ui_toast.Dispatcher?.Invoke(() => {
                    ui_toast.Visibility = Visibility.Visible;
                    ui_toast_mask.Visibility = Visibility.Visible;
                    ui_toast_text.Text = msg;
                    ui_toast_text.TextAlignment = TextAlignment.Center;
                });
                timer_toast.Interval = TimeSpan.FromMilliseconds(time);
                timer_toast.Start();
            };
        }

 

转载地址:http://mcpfn.baihongyu.com/

你可能感兴趣的文章
缓存优化
查看>>
Java内存模型vs JVM运行时数据区
查看>>
工作内存缓存问题
查看>>
对于同步的规则定义
查看>>
ReentrantLock(可重入锁)
查看>>
ReadWriteLock(读写锁)
查看>>
HashMap的实现原理
查看>>
Ansible 角色:安装mysql(简易版)
查看>>
Ansible: 安装与配置
查看>>
显示调用panic函数
查看>>
数组越界导致panic
查看>>
recover的使用
查看>>
字符串操作常用函数介绍
查看>>
字符串操作代码验证
查看>>
字符串转换
查看>>
正则表达式(上)
查看>>
json介绍
查看>>
借助bufio实现按行读取内容
查看>>
runtime.Gosched的使用
查看>>
无缓冲channel
查看>>