Имя «ABC» не существует в пространстве имен «CLR-пространство имен CLR: ABC»
-
21-12-2019 - |
Вопрос
Я пытаюсь построить дерево в невращенном режиме Управление DEVEXPRESS в WPF. Я перевел следующую ссылку Строительство дерева в несвязанном режиме .Пожалуйста, проверьте изображение, я получаю ошибку в XAML-коде. Необходимый вывод - это то, что жесткие закодированные данные должны появляться в TreeList, но вывод, который появляется только дерево, если я удаляю код XAML из строки 38-44.Я знаю, что ошибка в 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.Вот что говорит MSDN о вложенных классах
http://msdn.microsoft.com/en-us/library/ms753379.aspx
Ваш пользовательский класс не должен быть вложенным классом.Вложенные классы и «Точка» в их общих синтаксис использования CLR CLR вмешивается в другие 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>
.