1

如果视图中的某些字段在单击按钮进行导航时为空白,我需要向用户显示 MessageDialog。我可以很好地处理来自视图模型的输入字段验证,我只是不确定如何从视图模型调用 messagedialgo.showasync 方法并将其显示在视图上。有什么建议么?

4

1 回答 1

1

我看到了 Caliburn.Micro 的示例和库源。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();
        }
    }
}

可以像这样从视图模型中调用它

new MessageDialogResult("content", "title");

请参阅 CodePlex 上的代码

CoroutineViewModel.cs

MessageDialogResult.cs

于 2013-04-01T07:49:08.080 回答