2013-08-19 13 views
15

Chcę wyświetlić pole potwierdzenia w kodzie C#. Widziałem powyżej rozwiązanie dla tego, ale pokazuje mi wyjątek w "Tak" jako "System.Nullable" nie zawiera definicji "Tak". Jak usunąć ten błąd?Pole potwierdzenia w C# wpf

private void listBox1_MouseRightButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     if (sender is ListBoxItem) 
     { 
      ListBoxItem item = (ListBoxItem)sender; 
      Harvest_TimeSheetEntry entryToDelete = (Harvest_TimeSheetEntry)item.DataContext; 

      DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("Are you sure?", "Delete Confirmation", MessageBoxButtons.YesNo); 

      if (dialogResult == DialogResult.Yes) // error is here 
      { 
       Globals._globalController.harvestManager.deleteHarvestEntry(entryToDelete); 
      } 
      else 
      { 
       System.Windows.MessageBox.Show("Delete operation Terminated"); 
      } 

     } 
    } 

Odpowiedz

76

Zamiast WinForm MessageBox, użyj MessageBox dostarczone przez WPF i później wykorzystywać MessageBoxResult zamiast DialogResult w WPF.

lubię:

MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Are you sure?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); 
     if (messageBoxResult == MessageBoxResult.Yes) 
//........... 
+0

@ user1130886 Dzięki za edycji – Habib

+0

i jak go używać? –

+0

edytuj swój przykład, istnieją różne typy, edytuj 'DialogResult messageBoxResult = ...' na 'MessageBoxResult messageBoxResult = ...' lub odwrotnie, aw klauzuli if powinno być 'if (messageBoxResult == MessageBoxResult.Yes)' – vinsa

Powiązane problemy