我正在使用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。
我在互联网上搜索了解决方案,但找不到任何东西,如果你可以帮助我或告诉我在哪里可以找到解决方案,我将不胜感激。 提前谢谢!
答案 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();
}
}
}