如果单击行列 header,WPF Radgridview 禁用上下文菜单
WPF Radgridview disable context menu if row column header clicked
如果 radgridview 没有行,我需要禁用上下文菜单。目前,如果没有行,我可以 right-click 网格上的任何位置,上下文菜单将显示。
我尝试了下面的代码,但在尝试设置可见性时遇到 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" >
我为上下文菜单命名,并根据网格中的行数将其设置为可见或不可见。到目前为止,它提供了所需的功能。如果有更好的方法,请指教
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
如果 radgridview 没有行,我需要禁用上下文菜单。目前,如果没有行,我可以 right-click 网格上的任何位置,上下文菜单将显示。
我尝试了下面的代码,但在尝试设置可见性时遇到 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" >
我为上下文菜单命名,并根据网格中的行数将其设置为可见或不可见。到目前为止,它提供了所需的功能。如果有更好的方法,请指教
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