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();
}
}
}