2013-11-19 2 views
0

Я создаю приложение для WP8 с CustomMessageBox. Содержимое customMessageBox включает textBox и LeftButton. Я хочу, чтобы customMessageBox оставался открытым до тех пор, пока пользователь ничего не напишет в текстовом поле и не будет изменен. Вот код:WPToolkit CustomMessageBox - держать открытым до тех пор, пока не будет выполнено какое-то условие

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 для STH еще, хотя я не могу найти любые документы об этом. Метод CreateUser() проверяет ввод и сохраняет его в db.

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

ответ

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(); 
      } 
     } 
    } 
Смежные вопросы