Я использую TreeView в своем решении Visual C ++ для представления и изменения XML-контента. Я использую Visual Studio 2010 для этого проекта (.NET / Windows Forms). Некоторые из моих TreeNodes должны иметь атрибуты. К сожалению, TreeNodes в Visual Studio, похоже, не имеют атрибутов.
Теперь я хотел решить эту проблему, добавив невидимые дочерние узлы в TreeNodes, которые должны иметь атрибуты, и сохранив значение атрибута в этих невидимых дочерних узлах. Опять же, TreeNodes в Visual Studio не предлагают никаких свойств, чтобы сделать их невидимыми. Моя идея теперь состояла в том, чтобы просто получить пользовательский TreeNode-класс и добавить логическое свойство, должен ли TreeNode быть скрытым или нет. Если свойство имеет значение true, я «просто» должен переписать метод TreeView, который рисует TreeNode при добавлении (или входит в View или что-то еще). К сожалению, вот где я застрял. Какую функцию мне нужно переопределить, чтобы сделать это?
Кстати: нужно ли добавлять свойство видимости? На самом деле, достаточно просто привести узел к Custom-TreeNode (который точно такой же, как TreeNode), а затем нарисовать его только тогда, когда он имеет тип TreeNode, и скрыть, когда он является CustomTreeNode. Правильно?
Спасибо за любую помощь!