Я хотел бы привязать мой TreeView к структуре данных. После некоторых поисковых запросов я пришел к выводу, что создание моей простой структуры дерева с использованием List of Nodes - это то, что нужно сделать. Тем не менее, я хотел бы знать, нахожусь ли я на правильном пути и не переусердствовал - из того, что я знаю, нет структуры дерева в С#.
Каковы предпочтительные методы привязки TreeView к данным? (динамика, конечно). Могу ли я сделать что-то вроде:
List<node> nodes = new List<Node>();
//populate the nodes object
myTree.DataSource = nodes;
что было бы идеально... Кто-нибудь повезло привязать дерево к реальному объекту? Из того, что я знаю до сих пор, мне пришлось бы вручную добавлять узлы TreeNode к дереву и заполнять их из списка узлов, что хорошо, но если есть более простой способ, это будет лучше.
Спасибо!
MSDN имеет хорошее количество информация о привязке к TreeView.
Я предпочитаю использовать SiteMap для привязки данных.
Кроме того, вы можете создавать узлы через LINQ to XML
Если вы используете ASP.NET, вы можете прочитать о привязке данных для TreeViews здесь.
В winforms TreeView не поддерживает привязку данных. Вы должны сделать свое, поэтому ваше понимание того, что вам нужно вручную добавлять узлы, является правильным.
Вы можете реализовать INotifyPropertyChanged в своей базовой структуре данных, а затем прослушать это событие и перерисовать TreeView по мере необходимости, если/когда ваши узлы меняются.
Вот хорошая ссылка, которая объясняет, как привязать древовидную структуру древовидной структурой со следующими функциональными возможностями: