WPToolkit CustomMessageBox - 在某些条件为真之前保持打开状态

时间:2013-11-19 11:39:44

标签: windows-phone-8 wptoolkit

我正在使用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()方法验证输入并将其保存到db。

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

1 个答案:

答案 0 :(得分: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();
            }
        }
    }