如何禁用要在devexpress中选择的树列表行

如何禁用要在devexpress中选择的树列表行,devexpress,devexpress-windows-ui,treelist,Devexpress,Devexpress Windows Ui,Treelist,我已经创建了一个显示扇区和内存块的树列表,现在我需要禁用根节点的选择,还需要禁用已经占用的块行,以便只能从树列表中选择启用行 此外,禁用的行文本稍微轻一点,便于用户区分 这里我附上一个样本图像作为参考,我需要实现的 您是否考虑过使用event? 大概是这样的: void mytreelist_ShowingEditor(object sender, CancelEventArgs e) { if(mytreelist.FocusedNode.Level == 0 /* root */

我已经创建了一个显示扇区和内存块的树列表,现在我需要禁用根节点的选择,还需要禁用已经占用的块行,以便只能从树列表中选择启用行

此外,禁用的行文本稍微轻一点,便于用户区分

这里我附上一个样本图像作为参考,我需要实现的

您是否考虑过使用event? 大概是这样的:

void mytreelist_ShowingEditor(object sender, CancelEventArgs e) {  
   if(mytreelist.FocusedNode.Level == 0 /* root */ || SomeOtherCriteria()) 
   {
      e.Cancel = true;  
   }  
 }
您可以处理使行显示为禁用:

private void mytreelist_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) {
    if(e.Node.Level == 0 /* root */ || SomeOtherCriteria()) 
    {
      e.Appearance.ForeColor = Color.Gray;
    }  
}

ShowingEditor事件不会被调用,因为我的treeview控件对用户不可编辑,将“可编辑”和“只读”设置为true。