如何在Windows Phone 7中创建确认对话框?
我有一个应用程序,我可以删除项目,但当有人点击删除时,我想给他一个确认对话框,他们可以点击'确认'或'中止'
我怎么能这样做?
答案 0 :(得分:26)
你可以用这个:
if(MessageBox.Show("Are you sure?","Delete Item", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
//Delete Sentences
}
显示如下对话框:
答案 1 :(得分:4)
这是我使用的方法。为了获得更好的用户体验和一致性,请考虑使用“删除”和“取消”而不是“确认”或“中止”。
public static MessagePromptResult Show(string messageBoxText, string caption, string button1, string button2)
{
int? returned = null;
using (var mre = new System.Threading.ManualResetEvent(false))
{
string[] buttons;
if (button2 == null)
buttons = new string[] { button1 };
else
buttons = new string[] { button1, button2 };
Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox(
caption,
messageBoxText,
buttons,
0, // can choose which button has the focus
Microsoft.Xna.Framework.GamerServices.MessageBoxIcon.None, // can play sounds
result =>
{
returned = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(result);
mre.Set(); // could have done it all without blocking
}, null);
mre.WaitOne();
}
if (!returned.HasValue)
return MessagePromptResult.None;
else if (returned == 0)
return MessagePromptResult.Button1;
else if (returned == 1)
return MessagePromptResult.Button2;
else
return MessagePromptResult.None;
}
您需要在项目中添加对Microsoft.Xna.Framework.GamerServices的引用。
答案 2 :(得分:1)
您是否考虑过让用户“取消删除”项目,而不是要求用户确认删除?
虽然这可能需要更多的工作,但是当它在应用程序的上下文中有意义时,它可以带来更好的用户体验。
答案 3 :(得分:0)
如果确定/取消对您来说足够好,您可以坚持使用常规的MessageBox.Show