<SfTreeView TValue="TeamDetails" AllowDragAndDrop="true">
<TreeViewFieldsSettings TValue="TeamDetails" Id="Id" Text="Name" DataSource="@Team" Expanded="Expanded">
</TreeViewFieldsSettings>
<TreeViewEvents TValue="TeamDetails" OnNodeDragged="@nodeDropped"></TreeViewEvents>
</SfTreeView>
public void nodeDropped(DragAndDropEventArgs args)
{
diagram.BeginUpdate();
Dictionary<string, object> value = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(args.Event.ToString());
double x = Convert.ToDouble(value["screenX"]);
double y = Convert.ToDouble(value["screenY"]);
if (args.DraggedNode != null)
{
DiagramNode node = new DiagramNode()
{
Id = args.DraggedNode.ID,
OffsetX = x - 415,
OffsetY = y,
Width = 100,
Height = 100,
Annotations = new ObservableCollection<DiagramNodeAnnotation>()
{
new DiagramNodeAnnotation()
{
Content = args.DraggedNodeData.Text,
Offset = new NodeAnnotationOffset() { X = 0.75, Y = 0.5}
}
}
};
diagram.Nodes.Add(node);
diagram.EndUpdate();
}
} |