Пример #1
0
        private void st_Drop(object sender, DragEventArgs e)
        {
            NavDrag.Verbose("dnd", e.Effects + " " + e.Data);
            // MessageBox.Show("{2}\r\n{0}\r\nto\r\n{1}".Arg(_draggingModel, _dropTarget, e.Effects));
            var eff = GetDropEffects(_draggingModel, DropTarget, e);

            if (eff == DragDropEffects.Copy)
            {
                _draggingModel.Copy();
                DropTarget.PasteChild();
            }
            else if (eff == DragDropEffects.Move)
            {
                if (DropTarget != null)
                {
                    _draggingModel.Cut();
                    DropTarget.PasteChild();
                }
            }
            DropTarget = null;
            // erease clipboard
            PageViewModel.Copy(null);
        }
Пример #2
0
        private void Drag_DragOver(object sender, DragEventArgs e)
        {
            NavDrag.Verbose("dnd", e.Effects + " " + e.Data);
            var element = sender as FrameworkElement;

            var eff = DragDropEffects.None;

            if (element != null)
            {
                var currentPage = element.DataContext as PageViewModel;
                if (currentPage != null)
                {
                    DropTarget = currentPage;
                    NavDrag.Verbose("PotentialDropTarget", DropTarget);
                    eff = GetDropEffects(_draggingModel, DropTarget, e);
                }
            }

            e.Effects = eff;

            NavDrag.Verbose("ResultEffect", e.Effects);
            e.Handled = true;
        }
Пример #3
0
 void ConnectionPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (e.Is("IsConnected"))
     {
         var now = Connection.IsConnected;
         if (!_isConnectedLast && now)
         {
             // Connected - construct model container
             _modelContainer = new SpringContainer();
             _modelContainer.Add <IStorage>(Connection.Storage);
             _modelContainer.Add <PageViewModelCache, PageViewModelCache>();
             PageViewModel.Subscribe(Storage);
             _currentPage = PageViewModelCache.Get(RootPage, null);
             OnPropertyChanged(null);
         }
         else if (_isConnectedLast && !now)
         {
             // Disconnected
             _modelContainer = null;
             OnPropertyChanged(null);
         }
         _isConnectedLast = now;
     }
 }
Пример #4
0
 public static PageViewModel Get(PageViewModelCache cache, IPage page, PageViewModel parent)
 {
 }
Пример #5
0
 public static bool Cut(PageViewModel page)
 {
     return(Copy(page, true));
 }