如果视图中的某些字段在单击按钮导航时为空,则需要向用户显示MessageDialog。我可以很好地处理视图模型中的输入字段验证,我只是不确定如何从视图模型中调用messagedialgo.showasync方法并将其显示在视图上。有什么建议吗?
答案 0 :(得分:1)
我看到了Caliburn.Micro的示例和lib源代码。 IWindowManager
接口仅适用于WPF和Silverlight。对于WinRT,示例包含此助手类。
using System;
using Windows.UI.Popups;
namespace Caliburn.Micro.WinRT.Sample.Results
{
public class MessageDialogResult : ResultBase
{
private readonly string _content;
private readonly string _title;
public MessageDialogResult(string content, string title)
{
_content = content;
_title = title;
}
public async override void Execute(ActionExecutionContext context)
{
var dialog = new MessageDialog(_content, _title);
await dialog.ShowAsync();
OnCompleted();
}
}
}
可以从viewmodel中调用它,就像这样
new MessageDialogResult("content", "title");
请参阅CodePlex上的代码