private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            List <OptionalValue> OptionalValuesToRemove = new List <OptionalValue>();

            foreach (OptionalValue selectedOV in OptionalValuesGrid.Grid.SelectedItems)
            {
                OptionalValuesToRemove.Add(selectedOV);
            }

            foreach (OptionalValue OV in OptionalValuesToRemove)
            {
                if (OV != null && !OV.Value.Equals(GlobalAppModelParameter.CURRENT_VALUE))
                {
                    if (OV.IsDefault && OptionalValuesGrid.Grid.Items.Count > 1)
                    {
                        OptionalValue newDefault = ((OptionalValue)(OptionalValuesGrid.Grid.Items[0]));
                        newDefault.IsDefault = true;
                        //binding is disabeled so setting the radio button as check manually
                        RadioButton rb = (RadioButton)OptionalValuesGrid.GetDataTemplateCellControl <RadioButton>(newDefault, 1);
                        rb.IsChecked = true;
                    }
                    mAMDP.OptionalValuesList.RemoveItem(OV);
                    editWasDone = true;
                }
            }
        }
 private void btnClearAll_Click(object sender, RoutedEventArgs e)
 {
     for (int i = 0; i < mAMDP.OptionalValuesList.Count; i++)
     {
         OptionalValue ov = mAMDP.OptionalValuesList[i];
         if (ov.Value != GlobalAppModelParameter.CURRENT_VALUE)
         {
             mAMDP.OptionalValuesList.RemoveItem(ov);
             i--;
         }
         else
         {
             ov.IsDefault = true;
             //binding is disabeled so setting the radio button as check manually
             RadioButton rb = (RadioButton)OptionalValuesGrid.GetDataTemplateCellControl <RadioButton>(ov, 1);
             rb.IsChecked = true;
         }
     }
 }