0

我正在使用 CustomMessageBox 为 WP8 构建应用程序。customMessageBox 的内容包括一个 textBox 和 LeftButton。我希望 customMessageBox 保持打开状态,直到用户在 textBox 中写入内容并对其进行验证。这是一些代码:

this.Dismissed += async (sender, dismissedEvent) =>
            {
                switch (dismissedEvent.Result)
                {
                    case CustomMessageBoxResult.LeftButton:                       
                        this.isSaved = await CreateUser();
                        break;
                    case CustomMessageBoxResult.None:
                        break;
                    case CustomMessageBoxResult.RightButton:
                        break;
                    default:
                        break;
                }
            };

我为以下代码创建了布尔变量 isSaved:

this.Dismissing += (sender, e) =>
                {
                    if (!this.isSaved)
                    {
                        e.Cancel = false;
                    }
                };

但它不起作用 - 也许 e.Cancel 是为了其他东西,虽然我找不到任何关于它的文档。CreateUser() 方法验证输入并将其保存到数据库。

我在互联网上搜索了解决方案,但找不到任何东西,如果您能帮助我或告诉我在哪里可以找到解决方案,我将不胜感激。先感谢您!

4

1 回答 1

0

那这个呢...

    private async void CmbDismissing(object sender, DismissingEventArgs e)
    {
        if (e.Result == CustomMessageBoxResult.LeftButton)
        {
            // still open
            e.Cancel = true;

            bool isSaved = await this.CreateUser();

            // close
            if (isSaved)
            {
                ((CustomMessageBox)sender).Dismiss();
            }
        }
    }
于 2013-11-19T12:55:00.897 回答