使用MVVM和Caliburn.Micro显示MessageDialog

使用MVVM和Caliburn.Micro显示MessageDialog,mvvm,windows-8,windows-store-apps,caliburn.micro,Mvvm,Windows 8,Windows Store Apps,Caliburn.micro,如果用户单击按钮导航时视图中的某些字段为空,我需要向用户显示MessageDialog。我可以很好地处理视图模型中的输入字段验证,只是不确定如何从视图模型中调用messagedialgo.showasync方法并将其显示在视图中。有什么建议吗?我看到了Caliburn.Micro的示例和库源iWindows管理器界面仅适用于WPF和Silverlight。对于WinRT,示例包含此帮助器类 using System; using Windows.UI.Popups; namespace Cal

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

我看到了Caliburn.Micro的示例和库源<代码>iWindows管理器界面仅适用于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调用它

newmessagedialogresult(“内容”、“标题”)

请参阅CodePlex上的代码


我看到了Caliburn.Micro的样本和lib源<代码>iWindows管理器
界面仅适用于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调用它

newmessagedialogresult(“内容”、“标题”)

请参阅CodePlex上的代码


您使用过iWindows管理器界面吗?CM中有一个WindowManager实现,您可以使用它来显示弹出窗口/对话框等。我不确定它为windows8/store提供了什么,但它应该可以完成这项工作。只需依赖IWindowManager并调用ShowDialog(),使用要填充对话框的viewmodel实例,它就可以处理其余部分(好吧!)您使用过IWindowManager界面吗?CM中有一个WindowManager实现,您可以使用它来显示弹出窗口/对话框等。我不确定它为windows8/store提供了什么,但它应该可以完成这项工作。只需依赖IWindowManager并使用要填充对话框的viewmodel实例调用ShowDialog(),它就可以处理其余部分(afaik!)