Проблема с синхронизацией TextBox-а и TreeView

162
24 апреля 2018, 00:38

Класс для формирования Items в TreeView

public class NodeNap
{
    public int ID { get; set; }
    public int IDp { get; set; }
    public string Nap { get; set; }     
    private ObservableCollection<NodeNap> node;
    public ObservableCollection<NodeNap> Node
    {
        get
        {
            if (node == null) node = new ObservableCollection<NodeNap>();
            return node;
        }
    }
    public NodeNap(int ID, int IDp, string Nap)
    {
        this.ID = ID;
        this.IDp = IDp;
        this.Nap = Nap;
    }
}

Проблема заключается в том, что в TreeView не отображается синхронный вывод текста, который я ввожу в TextBox, и все отлично, когда текст вводится в ComboBox. Как решить эту проблему?

    NodeNap root;
    NodeNap child;
    bool rootNode; //Флаг, указывающий, создан корневой(True) узел, или нет(False)
    bool childNode;// -------------------------дочерний(True) узел, или нет(False)
    private ObservableCollection<NodeNap> node = new ObservableCollection<NodeNap>();
    public ObservableCollection<NodeNap> Node { get; set; }
    private void ComboBoxTextChanged(object sender, EventArgs e)
    {
        if (!rootNode)
        {
            root = new NodeNap(++ID, 0, ((ComboBox)sender).Text);
            Binding bin1 = new Binding
            {
                Source = root,
                Path = new PropertyPath("Nap"),
                Mode = BindingMode.TwoWay
            };
            сomboBox1.SetBinding(ComboBox.TextProperty, bin1);
            Node.Add(root);
            rootNode = true;
        }
    }
    private void TextBoxTextChanged(object sender, EventArgs e)
    {
        if (!childNode && !string.IsNullOrWhiteSpaceomboBox1.Text))
        {
            child = new NodeNap(ID + 1, ID, ((TextBox)sender).Text);
            Binding bin2 = new Binding
            {
                Source = child,
                Path = new PropertyPath("Nap"),
                Mode = BindingMode.TwoWay
            };
            textBox1.SetBinding(TextBox.TextProperty, bin2);
            root.Node.Add(child);
            childNode = true;
        }
    }   

Лишний код, который открывает-закрывает узлы или изменяет цвет узлов дерева убран.

READ ALSO
Не открывается конструктор android в Visual Studio

Не открывается конструктор android в Visual Studio

Недавно обновил Visual StudioСоздаю новый проект - Visual C# - android - blank app

250
Ошибка при создании картинки из массива байт

Ошибка при создании картинки из массива байт

Пытаюсь сохранить картинку из полученного массива, но получаю ArgumentExceptionКак мне исправить эту ошибку?

169
Xamarin ios,android

Xamarin ios,android

Я начинающий разработчик, возникла задача получить карту местности и координаты игроков на ней, никак не получается найти решение

168