代码visualNode.Nodes.Add
提供 NullReferenceException ,因为此时节点未启动。
private XamDataTreeNode LoadTree(XmlNode dataNode, int index)
{
XamDataTreeNode visualNode = new XamDataTreeNode(index, null, MakeTextBox(dataNode.Name), false, null);
foreach (XmlNode child in dataNode.ChildNodes)
{
visualNode.Nodes.Add(LoadTree(child, VisualChildrenCount));
}
visualNode.IsExpanded = true;
return visualNode;
}
我尝试使用ItemsSource
,但XamDataTreeNode.ItemsSource
受到保护。
那么如何使用值填充XamDataTree
?
我能够使用WPF树控件但不能使用Infragistics树控件。
编辑,我会澄清一些:
@HighCore:我想要使用的UI元素及其外观只能在分析数据后才能确定。
@D J:当数据结构可以是任何xml结构时,你会如何数据绑定?
答案 0 :(得分:0)
我通过将XamDataTree映射到树结构来解决这个问题,其中提供了用作内容的Label。使用标准PropertyChangedNotifier
public class TreeNode : PropertyChangedNotifier
{
private Label text;
private System.Drawing.Image icon;
private ObservableCollection<TreeNode> children;
}
<ig:XamDataTree.GlobalNodeLayouts>
<ig:NodeLayout
Key="Children"
DisplayMemberPath="Text"
TargetTypeName="Model.TreeNode"
>
</ig:NodeLayout>
</ig:XamDataTree.GlobalNodeLayouts>