首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改MessageDialog内容或从MessageDialog处理程序Windows应用程序中显示新内容

更改MessageDialog内容或从MessageDialog处理程序Windows应用程序中显示新内容
EN

Stack Overflow用户
提问于 2014-02-16 00:38:41
回答 2查看 1.1K关注 0票数 0

我有MessageDialog对话负责删除确认。

代码语言:javascript
复制
private async void ShowDialogClick(object sender, RoutedEventArgs e)
{
    MessageDialog md = new MessageDialog("Are your sure you want to delete this?");

    md.Commands.Add(new UICommand("Delete",
        new UICommandInvokedHandler(DeleteItemHandler)));
    md.Commands.Add(new UICommand("Cancel"));

    await md.ShowAsync();
}

当用户单击Delete时,DeleteItemHandler调用数据库上的操作,但如何通知用户操作不成功?

我试图创建新的MessageDialog,但我得到了win32 exception

代码语言:javascript
复制
private async void DeleteItemHandler(IUICommand command)
{
    MessageDialog md = new MessageDialog("New content");

    String result = DbDeletation();

    if(result != "OK")
        await md.ShowAsync();
}

告诉用户错误的最好方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-16 01:43:43

根据Windows商店应用程序指南的说法,MessagegDialog不是确认删除的好方法。

当应用程序需要确认用户对用户所采取的行动的意图时,适当的表面是“飞出”。请参阅暂退指南。

现在我有了更干净的代码..。

代码语言:javascript
复制
    private async void DeleteItem_Click(object sender, RoutedEventArgs e)
    {
        MessageDialog md = new MessageDialog("Error");

        String result = DbDeletation();

        if (result != "OK")
            await md.ShowAsync();
    }

更温和的解决方案:)

代码语言:javascript
复制
    <Button HorizontalAlignment="Center"
            VerticalAlignment="Center"
            Content="Show Dialog">
        <Button.Flyout>
            <Flyout>
                <StackPanel>
                    <TextBlock>Are your sure you want to delte this?</TextBlock>
                    <Button Click="DeleteItem_Click"
                            Content="Delete"
                            HorizontalAlignment="Right"/>
                </StackPanel>
            </Flyout>
        </Button.Flyout>
    </Button>
票数 0
EN

Stack Overflow用户

发布于 2014-02-16 00:52:29

您不能自定义MessageDialos并在一行中调用它们,因此,您有两种方法:

  1. 使用命令构建自己的弹出控件,在操作返回结果之前不要关闭弹出。展示进步或类似的东西。如果会发生错误,请在弹出窗口中正确显示。
  2. 使用MessageDialog并在您调用MessageDialog的位置显示进度和错误消息(如果有的话)(例如,在按钮Delete附近)。

第二种方法更适合Windows商店应用程序指南

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21805743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档