2011-07-18 20 views
6

¿Cómo puedo crear un diálogo de confirmación en Windows Phone 7?¿cómo crear un diálogo de confirmación en Windows Phone 7?

Tengo una aplicación en la que puedo eliminar elementos, pero cuando alguien hace clic borrado, quiero obtener de él un diálogo de confirmación donde pueden hacer clic en 'Confirmar' o 'abortar'

¿Cómo podría hacer esto?

+2

posible duplicado de [diálogo Alerta WP7] (http://stackoverflow.com/questions/ 4475602/wp7-alerta-diálogo) –

Respuesta

4

Este es el método que uso. Por cierto, para una mejor experiencia de usuario y por coherencia, considere usar las palabras "eliminar" y "cancelar" en lugar de "confirmar" o "abortar".

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

Usted tendrá que añadir una referencia a Microsoft.Xna.Framework.GamerServices a su proyecto.

0

Si OK/Cancelar es lo suficientemente bueno para usted, usted podría pegarse a la MessageBox.Show regulares

1

En lugar de pedir al usuario que confirme la eliminación, ¿ha considerado que proporciona al usuario la capacidad de "no se elimine" ¿artículos?

Si bien esto puede requerir un poco más de trabajo, cuando tiene sentido en el contexto de la aplicación, puede llevar a una experiencia de usuario mucho mejor.

26

puede utilizar esto:

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

Muestra un diálogo de algo como esto:

enter image description here