如何在Windows Phone 7中创建确认对话框?

wp7*_*ers 6 windows-phone-7

如何在Windows Phone 7中创建确认对话框?

我有一个应用程序,我可以删除项目,但当有人点击删除,我想让他一个确认对话框,他们可以点击'确认'或'中止'

我怎么能这样做?

vfp*_*ero 26

你可以用这个:

if(MessageBox.Show("Are you sure?","Delete Item", MessageBoxButton.OKCancel) == MessageBoxResult.OK)  
{
 //Delete Sentences
}
Run Code Online (Sandbox Code Playgroud)

显示如下对话框:

在此输入图像描述


1ad*_*m12 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;
    }
Run Code Online (Sandbox Code Playgroud)

您需要将对 Microsoft.Xna.Framework.GamerServices 的引用添加到您的项目中。