我正在用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。取消是为了别的,尽管我找不到任何关于它的文档。方法CreateUser()验证输入并将其保存到数据库中。
我在互联网上搜索了解决方案,但没有找到任何东西,如果你能帮助我或告诉我在哪里可以找到解决方案,我将不胜感激。提前感谢!
这个。。。
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();
}
}
}