Thursday, January 28, 2016

devexpress wpf gridcontrol disable context menu


If you want to disable any context menu item in devexpress grid like this.



In XAML


  <dxg:GridControl x:Name="grdProfile"  
                    Width="1070"  
                    Height="400"  
                    HorizontalAlignment="Left"  
                    VerticalAlignment="Top"  
                    AutoGenerateColumns="None"  
                    ItemsSource="{Binding CusHisViewRefillHistoryList}"  
                    SelectedItem="{Binding SelectedCusHisViewRefillHistory}">  
             <dxg:GridControl.Columns>  
               <dxg:GridColumn Width="100"  
                       Binding="{Binding RxNo}"  
                       Header="Rx #" />  
               <dxg:GridColumn Width="70"  
                       Binding="{Binding PhInitials}"  
                       Header="Ph. Initials" />  
               <dxg:GridColumn Width="75"  
                       Binding="{Binding DispDate}"  
                       Header="Disp. Date">  
                 <dxg:GridColumn.EditSettings>  
                   <dxe:TextEditSettings DisplayFormat="MM/dd/yyyy" />  
                 </dxg:GridColumn.EditSettings>  
               </dxg:GridColumn>  
               <dxg:GridColumn Width="60"  
                       Binding="{Binding RefillNo}"  
                       Header="Ref. #" />  
               <dxg:GridColumn Width="60"  
                       Binding="{Binding RefillAuth}"  
                       Header="Ref Auth" />  
               <dxg:GridColumn Width="80"  
                       Binding="{Binding PlanName}"  
                       Header="Plan Name" />  
               <dxg:GridColumn Width="200"  
                       Binding="{Binding DispensedDrug}"  
                       Header="Dispensed Drug" />  
               <dxg:GridColumn Width="70"  
                       Binding="{Binding DispensedQuantity}"  
                       Header="Disp. Qty">  
                 <dxg:GridColumn.EditSettings>  
                   <dxe:TextEditSettings Mask="\d{1,10}\.\d{1,2}?"  
                              MaskType="RegEx"  
                              MaskUseAsDisplayFormat="True" />  
                 </dxg:GridColumn.EditSettings>  
               </dxg:GridColumn>  
               </dxg:GridControl.Columns>  
             <dxg:GridControl.View>  
               <dxg:TableView AlternateRowBackground="{StaticResource AlternateRowColour}" AlternationCount="2">  
                 <dxg:TableView.RowCellMenuCustomizations>  
                   <dxb:BarButtonItem Name="contexMenuShowAll1"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ShowAllCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show All" />  
                   <dxb:BarButtonItem Name="contexMenuShowSelectedDrugOnly"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedDrugCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show Selected Drug Only" />  
                   <dxb:BarButtonItem Name="contexMenuShowSelectedRxOnly"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedForRefillCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show Selected Rx Only" />  
                   <dxb:BarItemLinkSeparator />  
                   <dxb:BarButtonItem Name="contexMenuBillOtherInsurance"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.BillOtherInsurance,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Bill Other Insurance" />  
                   <dxb:BarButtonItem Name="contexMenuEditRx"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.EditRxCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Edit Rx" />  
                   <dxb:BarButtonItem Name="contexMenuReverse"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.RxReversalCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Reverse" />  
                   <dxb:BarButtonItem Name="contexMenuPrintLabel"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.PrintLabelCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Print Label" />  
                   <dxb:BarButtonItem Name="contexMenuPickupInfo"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.PickupInfoCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Pickup Info" />  
                   <dxb:BarItemLinkSeparator />  
                   <dxb:BarButtonItem Name="contexMenuChangeCashtoInsurance"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ChangeCashToInsuranceCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Change Cash to Insurance" />  
                   <dxb:BarButtonItem Name="contexMenuChangeInsurancetoCash"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ChangeInsuranceToCashCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Change Insurance to Cash" />  
                   <dxb:BarButtonItem Name="contexMenuTransmitPendingClaim"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.TransmitPendingClaimCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Transmit Pending Claim"  
                             IsEnabled="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedCusHisViewRefillHistory.IsPendingClaimsActive,  
                                       RelativeSource={RelativeSource Self},  
                                       Mode=TwoWay,  
                                       UpdateSourceTrigger=PropertyChanged}" />  
                 </dxg:TableView.RowCellMenuCustomizations>  
               </dxg:TableView>  
             </dxg:GridControl.View>  
           </dxg:GridControl>  


In VM:


 private CusHisViewRefillHistory _selectedCusHisViewRefillHistory;  
 public CusHisViewRefillHistory SelectedCusHisViewRefillHistory  
     {  
       get { return _selectedCusHisViewRefillHistory; }  
       set  
       {  
         _selectedCusHisViewRefillHistory = value;  
         RaisePropertyChanged("SelectedCusHisViewRefillHistory");  
         SelectDeSelectRxHistory();  
       }  
     }  
  private void SelectDeSelectRxHistory()  
     {  
       if (SelectedCusHisViewRefillHistory != null)  
       {  
         if (SelectedCusHisViewRefillHistory.paytypeid_FK=="P")  
         {  
           SelectedCusHisViewRefillHistory.IsPendingClaimsActive = false;  
         }  
         else  
         {  
           SelectedCusHisViewRefillHistory.IsPendingClaimsActive = true;  
         }  
       }  
     }            


Ensure that this project has Microsoft.Bcl.Build installed and packages.config is located next to the project file

In my Xamarin form application their was dependency Restclient on Microsoft.Bcl.Build Microsoft.Bcl. i just remove all using nuget and ...