private void DragSource_DragEnter(object sender, Infragistics.DragDrop.DragDropCancelEventArgs e)
        {
            //set drag data
            var xdt = e.DragSource as CardPanel;
            var cpr = xdt.TryFindParent <DataRecordPresenter>();
            var ep  = cpr.DataRecord.DataItem as NeighborhoodWatch;

            if (ep == null)
            {
                e.Cancel = true;
            }
            else
            {
                e.Data = ep;
            }

            //change allow or not
            e.OperationType = OperationType.DropNotAllowed;
            if (e.DropTarget is XamDataTreeNodeControl)
            {
                XamDataTreeNodeControl drca = e.DropTarget as XamDataTreeNodeControl;
                var dtnode = drca.Node;
                if (dtnode != null)
                {
                    DirectoryNode dr = dtnode.Data as DirectoryNode;
                    if (dr.IsFolder)
                    {
                        e.OperationType = OperationType.Move;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void xamDataTreeAccount_NodeDragEnd(object sender, Infragistics.DragDrop.DragDropEventArgs e)
        {
            if (e.OperationType != null && e.OperationType == OperationType.Copy)
            {
                XamDataTreeNode origNode = e.Data as XamDataTreeNode;
                if (origNode == null)
                {
                    return;
                }
                PortfolioVM porfVm = origNode.Data as PortfolioVM;
                if (porfVm == null)
                {
                    return;
                }

                XamDataTreeNodeControl treeNodeCtrl = e.DropTarget as XamDataTreeNodeControl;
                if (treeNodeCtrl == null)
                {
                    return;
                }
                AccountVM acctVm = treeNodeCtrl.Node.Data as AccountVM;
                if (acctVm == null)
                {
                    return;
                }

                XElement portfElem = porfVm.Persist();
                var      cloned    = PortfolioVM.Load(acctVm, portfElem);
                acctVm.AddPorfolio(cloned);

                ViewModel.Persist();
            }
        }
Ejemplo n.º 3
0
 private void DragSource_DragOver(object sender, Infragistics.DragDrop.DragDropMoveEventArgs e)
 {
     if (e.DropTarget is XamDataTreeNodeControl)
     {
         XamDataTreeNodeControl drca = e.DropTarget as XamDataTreeNodeControl;
         var dtnode = drca.Node;
         if (dtnode == null)
         {
             e.OperationType = OperationType.DropNotAllowed;
         }
     }
 }