2013-08-19 1 views
15

Я хочу показать окно подтверждения в коде C#. Я видел выше решение для этого, но это показывает мне исключение в «Да», поскольку «System.Nullable» не содержит определения для «Да». Как удалить эту ошибку?Блок подтверждения в 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"); 
      } 

     } 
    } 

ответ

76

Вместо использования WinForm MessageBox, используйте MessageBox обеспечивается WPF, а затем использовать MessageBoxResult вместо DialogResult в WPF.

нравится:

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

@ user1130886 Спасибо за редактирование – Habib

+0

и как его использовать? –

+0

отредактируйте свой пример, есть разные типы, отредактируйте 'DialogResult messageBoxResult = ...' на 'MessageBoxResult messageBoxResult = ...' или наоборот, а в предложении if должно быть 'if (messageBoxResult == MessageBoxResult.Yes)' – vinsa