i m尝试在WPF中的未绑定模式Devxpress控制中构建一棵树。 我已经reffered 在未结级模式下构建一棵树。请检查图像,i m在XAML代码中获得错误。所需的输出是硬编码数据必须出现在跑步声中,但如果我从第38-44行删除XAML代码,则显示的输出仅为树结构。我知道错误在XAML中,我还提供了CS代码。

***************************代码*****************************************

 namespace PstImporter
  {
/// <summary>
/// Interaction logic for pstSelect.xaml
/// </summary>
public partial class pstSelect : Window
{
    string stgPath;
    public pstSelect ()
    {
        InitializeComponent();
        treePstSelect.Visibility = Visibility.Hidden;
        List < MailboxHelper.Folder > lstMailBoxHelper = Globals.selectFolder(fileName);
        buildTree(lstMailBoxHelper);
        treeListView1.ExpandAllNodes();
        this.barButtonItem1.ItemClick += this.barButtonItem1_ItemClick;
    }

    public class ProjectObject
    {
        public string Name { get; set; }
        public string Executor { get; set; }
    }

    private void buildTree (List<MailboxHelper.Folder> lstMailBoxHelper)
    {
        TreeListNode rootNode = CreateRootNode(new ProjectObject() { Name = lstMailBoxHelper[0].displayName, Executor = lstMailBoxHelper[1].displayName });
        TreeListNode childNode = CreateChildNode(rootNode, new ProjectObject() { Name = lstMailBoxHelper[2].displayName, Executor = lstMailBoxHelper[1].displayName });
        CreateChildNode(childNode, new ProjectObject() { Name = lstMailBoxHelper[3].displayName, Executor = lstMailBoxHelper[1].displayName });
    }

    private TreeListNode CreateRootNode(object dataObject)
    {
        TreeListNode rootNode = new TreeListNode(dataObject);
        treeListView1.Nodes.Add(rootNode);
        return rootNode;
    }

    private TreeListNode CreateChildNode (TreeListNode parentNode, object dataObject)
    {
        TreeListNode childNode = new TreeListNode(dataObject);
        parentNode.Nodes.Add(childNode);
        return childNode;
    }
.

有帮助吗?

解决方案

您无法在XAML中引用嵌套类。Heres MSDN说嵌套类别

http://msdn.microsoft.com/en-us/library/MS753379.aspx

您的自定义类不得是嵌套类。嵌套课程和 他们的一般CLR使用语法中的“DOT”干扰其他WPF 和/或XAML功能,如附加属性。

您可以从窗口类中取出您的ProjectObject

namespace PstImporter
  {

     public class ProjectObject
    {
        public string Name { get; set; }
        public string Executor { get; set; }
    }
  }
.

然后您可以参考它

xmlns:local="clr-namespace:PstImporter"

<local:ProjectObject>
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top