2016-09-02 4 views
0

radgridview에 대한 행이 없으면 컨텍스트 메뉴를 비활성화해야합니다. 현재 행이 없으면 그리드의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴가 표시됩니다.WPF Radgridview 행 열 머리글을 클릭하면 컨텍스트 메뉴가 표시되지 않습니다.

아래 코드를 시도했지만 카운트가 0인지 여부에 관계없이 가시성을 설정하려고 NullReferenceException이 발생했습니다.

  dgChosenItems.DataContext = theLines.allLines 

      If theLines.allLines.Count = 0 Then 
       dgChosenItems.ContextMenu.Visibility = Visibility.Collapsed 
      Else 
       dgChosenItems.ContextMenu.Visibility = Visibility.Visible 
      End If 

도움이나 조언을 주셔서 감사합니다.

편집 : 다음은 xaml의 발췌 문장입니다. 추가해야 할 것이 있습니까?

  <telerik:RadGridView x:Name="dgChosenItems" FontSize="16" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible" ItemsSource="{Binding}" AutoGenerateColumns="False" ShowGroupPanel="False" ColumnWidth="*" Margin="0,478,10,0" > 
      <telerik:RadContextMenu.ContextMenu > 
       <telerik:RadContextMenu Background="LightGray" Opened="dgChosenItemsContextMenu_Opened" > 
        <telerik:RadContextMenu.Items> 
         <telerik:RadMenuItem x:Name="menuAdd" Header="Add Mod" Click="AddMod" > 
+0

중단 점을 설정하고'dgChosenItems' 또는'dgChosenItems.ContextMenu'가 무엇인지 확인 했습니까? 'dgChosenItems.ContextMenu'는 아무것도 아니거나 null이라고 말할 수 있습니다. – Codexer

+0

예, ContextMenu는 아무것도 아닙니다. 어떻게해야 할 일인지 설정할 수 있습니까? – EManning

+0

당신은 그것을 할당해야합니다. 분명히 당신은 오류가 없으므로 오류가 있습니다. 여기에 당신을 도울 수있는 빠른 찾기 http://docs.telerik.com/devtools/wpf/controls/radcontextmenu/how-to/use-radcontextmenu-with-radgridview – Codexer

답변

0

컨텍스트 메뉴에 이름을 지정하고 눈금의 행 수에 따라 보이지 않거나 보이지 않도록 설정했습니다. 지금까지 필요한 기능을 제공합니다. 더 좋은 방법이 있다면 조언하십시오.

Private Sub dgChosenItems_PreviewMouseRightButtonDown(sender As Object, e As MouseButtonEventArgs) Handles dgChosenItems.PreviewMouseRightButtonDown 

     Dim theLines As New allOrderDetailLines 

     If theLines.allLines.Count = 0 Then 
      mnuChosenItems.Visibility = Visibility.Collapsed 
     Else 
      mnuChosenItems.Visibility = Visibility.Visible 
     End If 
관련 문제