WPToolkit CustomMessageBox - держать открытым, пока не выполнится какое-либо условие

Я строю приложение для WP8 с CustomMessageBox. Содержимое 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() проверяет ввод и сохраняет его в БД.

Я искал в Интернете решение, но ничего не смог найти, если бы Вы могли мне помочь или показать, где я могу найти решение, я был бы очень признателен. Заранее спасибо!

1 ответ

Решение

Как насчет этого...

    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();
            }
        }
    }
Другие вопросы по тегам