【发布时间】:2020-05-19 06:24:57
【问题描述】:
我已经创建了一个树列表来显示内存的扇区和块,现在我需要禁用根节点的选择,还需要禁用已经被占用的块的行,以便只能选择启用行从树列表中。
此外,禁用的行文本更轻,便于用户区分。
这里我附上一张示例图片以供参考,我需要实现的目标
【问题讨论】:
标签: devexpress devexpress-windows-ui treelist
我已经创建了一个树列表来显示内存的扇区和块,现在我需要禁用根节点的选择,还需要禁用已经被占用的块的行,以便只能选择启用行从树列表中。
此外,禁用的行文本更轻,便于用户区分。
这里我附上一张示例图片以供参考,我需要实现的目标
【问题讨论】:
标签: devexpress devexpress-windows-ui treelist
您是否考虑过使用TreeList.ShowingEditor 事件? 像这样的:
void mytreelist_ShowingEditor(object sender, CancelEventArgs e) {
if(mytreelist.FocusedNode.Level == 0 /* root */ || SomeOtherCriteria())
{
e.Cancel = true;
}
}
您可以处理TreeList.CustomDrawNodeCell 使一行显示为禁用:
private void mytreelist_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) {
if(e.Node.Level == 0 /* root */ || SomeOtherCriteria())
{
e.Appearance.ForeColor = Color.Gray;
}
}
【讨论】: