Имя «ABC» не существует в пространстве имен «CLR-пространство имен CLR: ABC»

StackOverflow https://stackoverflow.com//questions/24034257

Вопрос

Я пытаюсь построить дерево в невращенном режиме Управление 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>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top