Pergunta

Eu estou a tentar construir uma árvore de modo independente devexpress controle do wpf.Eu tenho referiram o seguinte link A construção de uma Árvore de Modo Independente .Por favor verifique a imagem , eu estou recebendo o erro no código xaml.A saída necessária é que o disco rígido codificado dados devem aparecer no treelist mas o resultado que aparece é apenas uma estrutura de árvore, se eu remover o código xaml da linha 38-44 .Eu sei que o erro está no xaml ainda i m fornecendo também cs código.

enter image description here

***************************Código*****************************************

 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;
    }
Foi útil?

Solução

Você não pode se referir a classes aninhadas em xaml.Aqui está o que MSDN diz sobre classes aninhadas

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

Sua classe personalizada não deve ser uma classe aninhada.Classes aninhadas e o "dot" em geral, CLR sintaxe de utilização de interferir com outros WPF e/ou XAML características, tais como propriedades anexadas.

você pode tirar o seu ProjectObject classe de classe de Janela

namespace PstImporter
  {

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

Em seguida, você pode consultá-lo

xmlns:local="clr-namespace:PstImporter"

<local:ProjectObject>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top