Загрузка...

[C# WPF] How to implement drag and drop in TreeView

Thread in C# created by renameduser_110248 Jan 10, 2018. 391 view

  1. renameduser_110248
    renameduser_110248 Topic starter Jan 10, 2018 63 May 7, 2017
    Привет!
    Пишу программу под KonvaJS, и у меня есть дерево в котором я размещаю порядок элементов, и проблема в том что я не знаю как реализовать перетаскивание элементов.

    Вот XAML моего TreeView, то что там ATreeView это я переопределил что бы была возможность сделать Binding на SelectedItem
    Code
    <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
    Code
    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
    Code
    public interface IKonvaElement
    {
    List<IKonvaProperty> Properties { get; set; }
    List<IKonvaElement> Childrens { get; set; }

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