如何在maham中创建对话框结果?

时间:2015-07-08 13:31:24

标签: c# wpf mahapps.metro

我正在尝试创建一个显示对话框结果的代码:

var result = this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative);
if (result == MessageDialogResult.Affirmative)
{
    this.Hide();
}

但是这行if (result == MessageDialogResult.Affirmative)上的编译器向我显示了这条消息:

  

你不能将==运算符应用于类型'任务'的操作数。和' MessageDialogResult'

在某些例子中,它使用了这个运算符,我做错了什么?

1 个答案:

答案 0 :(得分:1)

ShowMessageAsync()似乎是一种异步方法,这意味着它会返回Task<T>而不是T

所以你可以await这样的任务:

var result = await this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative);

或者你可以得到它的Result

var result = this.ShowMessageAsync("proceed?", "Info", MessageDialogStyle.AffirmativeAndNegative)
    .Result;

如果您想要await任务,则必须使用标记为async的方法