Загрузка...

[C# WPF] Как реализовать перетаскивание в TreeView

Тема в разделе C# создана пользователем _ZnZ_ 10 янв 2018. 385 просмотров

Загрузка...
  1. _ZnZ_
    _ZnZ_ Автор темы 10 янв 2018 63 7 май 2017
    Привет!
    Пишу программу под KonvaJS, и у меня есть дерево в котором я размещаю порядок элементов, и проблема в том что я не знаю как реализовать перетаскивание элементов.

    Вот XAML моего TreeView, то что там ATreeView это я переопределил что бы была возможность сделать Binding на SelectedItem
    Код
    <classes:ATreeView Width="225" ItemsSource="{Binding KanvaElements}"
    SelectedItem="{Binding SelectedKanvaElement, Mode=TwoWay}">
    <classes:ATreeView.ItemContainerStyle>
    <Style TargetType="TreeViewItem">
    <Setter Property="ItemsSource" Value="{Binding Childrens}"/>
    <Setter Property="IsExpanded" Value="True"/>
    <Setter Property="Header">
    <Setter.Value>
    <MultiBinding Converter="{StaticResource TreeItemHeaderMultiConverter}">
    <Binding Path="VariableName"/>
    <Binding Path="ObjName"/>
    </MultiBinding>
    </Setter.Value>
    </Setter>
    </Style>
    </classes:ATreeView.ItemContainerStyle>
    </classes:ATreeView>
    Вот откуда берётся ItemsSource
    Код
    public ObservableCollection<IKonvaElement> KanvaElements { get; set; } = new ObservableCollection<IKonvaElement>
    {
    new KonvaStage
    {
    Childrens = new List<IKonvaElement>
    {
    new KonvaLayer
    {
    Childrens = new List<IKonvaElement>
    {
    new KonvaRect(),
    new KonvaCircle(),
    new KonvaEllipse(),
    new KonvaWedge()
    }
    },
    new KonvaLayer(),
    new KonvaLayer()
    }
    }
    };
    Каждый из этих элементов унаследован от IKonvaElement
    Код
    public interface IKonvaElement
    {
    List<IKonvaProperty> Properties { get; set; }
    List<IKonvaElement> Childrens { get; set; }

    string ObjName { get; set; }
    string VariableName { get; set; }
    }
    Как реализовать перетаскивание по дереву? Раньше такого не делал
    Зарание спасибо!
     
  2. FieFoxq
    FieFoxq 18 янв 2018 140 4 фев 2017
    Сложнаа
     
Top