O nome"abc" não existe no espaço de nomes "clr-namespace:abc"
-
21-12-2019 - |
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.
***************************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;
}
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>