如果单击行列标题,WPF Radgridview将禁用上下文菜单

时间:2016-09-02 19:44:18

标签: vb.net telerik radgridview

如果radgridview没有行,我需要禁用上下文菜单。目前,如果没有行,我可以右键单击网格上的任意位置,将显示上下文菜单。

我尝试了下面的代码但是得到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" >

1 个答案:

答案 0 :(得分: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