C# WPF MahApps.Metro 弹出消息

    WPF 使用程序集MahApps.Metro弹出消息提示,可以使用ShowOverlayAsync、ShowMessageAsync、HideOverlayAsync三个方法;

    1、在窗体中,可以使用this.ShowMessageAsync()方法弹出消息框;//MessageDialogResult ShowModalMessageExternal()

string message = "内容。";
MetroWindow window = Window.GetWindow(this) as MetroWindow;
window.ShowMessageAsync("错误提示", message, MessageDialogStyle.Affirmative, new MetroDialogSettings() 
{ 
    AffirmativeButtonText = "确定" 
});
return;

    调用代码

this.ShowMessageAsync("上机成功!", "请继续");

    效果图

C# WPF MahApps.Metro 弹出消息_第1张图片

**************************************************************************************************************

    3、改造提示框信息,使用await 等等信息返回,配合使用async关键词

private async void btnOK_Click(object sender, RoutedEventArgs e)
{
    MessageDialogResult clickresult = await this.ShowMessageAsync(this.Title, "您真的要修改吗?", MessageDialogStyle.AffirmativeAndNegative);
    if (clickresult == MessageDialogResult.Negative)//取消
    {
        return;
    }
    else//确认
    {
       //确认后的处理
    }
}

    效果图

C# WPF MahApps.Metro 弹出消息_第2张图片

    参考地址:【mahapps.metro】WPF窗体Dialogs(对话框)的使用_Bboy-AJ的博客-CSDN博客

**************************************************************************************************************

    4、使用ShowOverlayAsync 和 HideOverlayAsync 弹出覆盖白布和隐藏

private void MetroWindow_Loaded(object sender, RoutedEventArgs e)
{
    if (IsVisible)
    {
        Task.Run(() =>
        {
            try
            {
                App.Current.Dispatcher.Invoke(() =>
                {
                    this.ShowOverlayAsync();
                });
                    //数据加载操作
            }
            catch (Exception ex)
            {
                App.Current.Dispatcher.Invoke(() =>
                {
                    this.ShowMessageAsync("警告", ex.Message);
                });
            }
            finally
            {
                App.Current.Dispatcher.Invoke(() =>
                {
                    this.HideOverlayAsync();
                });
            }
        });
    }
}

**************************************************************************************************************

你可能感兴趣的:(#,WPF,Caliburn.Micro,MahApps.Metro,C#,WPF弹出消息,1024程序员节)