2011-07-18 17 views
6

Jak mogę utworzyć okno dialogowe potwierdzenia w Windows Phone 7?howto utworzyć okno dialogowe potwierdzenia w Windows Phone 7?

Mam aplikację, w której mogę usunąć przedmioty, ale gdy ktoś kliknie kasowania, chcę dostać mu dialogowym Potwierdzanie gdzie mogą kliknąć „Potwierdź” lub „przerwanie”

Jak mogę to zrobić?

+2

możliwe duplikat [WP7 dialogowym Alert] (http://stackoverflow.com/questions/ 4475602/wp7-alert-dialog) –

Odpowiedz

4

Oto metoda, której używam. By the way dla lepszego doświadczenia użytkownika i dla spójności sake rozważ użycie słów "usuń" i "anuluj" zamiast "potwierdzić" lub "przerwać".

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

Będziesz musiał dodać odniesienie do Microsoft.Xna.Framework.GamerServices do swojego projektu.

0

Jeśli OK/Cancel jest wystarczająco dobre dla ciebie, można przykleić do regularnego MessageBox.Show

1

Zamiast pytać użytkownika o potwierdzenie usunięcia, masz rozważyć dając użytkownikowi możliwość „un-Delete” przedmiotów?

Chociaż może to być trochę więcej pracy, gdy ma to sens w kontekście aplikacji, może prowadzić do znacznie lepszego komfortu użytkowania.

26

można użyć to:

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

Pokazuje coś dialogowe jak poniżej:

enter image description here

Powiązane problemy