示例#1
0
文件: MainView.cs 项目: zxmak/ZXMAK2
 protected override void OnDragEnter(DragEventArgs e)
 {
     base.OnDragEnter(e);
     try
     {
         if (!CanFocus)
         {
             e.Effect = DragDropEffects.None;
             return;
         }
         var ddw       = new DragDataWrapper(e.Data);
         var allowOpen = false;
         if (ddw.IsFileDrop)
         {
             var uri = new Uri(Path.GetFullPath(ddw.GetFilePath()));
             allowOpen = CanExecute(CommandOpenUri, uri);
         }
         else if (ddw.IsLinkDrop)
         {
             var uri = new Uri(ddw.GetLinkUri());
             allowOpen = CanExecute(CommandOpenUri, uri);
         }
         e.Effect = allowOpen ? DragDropEffects.Link : DragDropEffects.None;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
 }
示例#2
0
文件: MainView.cs 项目: zxmak/ZXMAK2
        protected override void OnDragDrop(DragEventArgs e)
        {
            base.OnDragDrop(e);
            try
            {
                if (!CanFocus)
                {
                    return;
                }
                var ddw = new DragDataWrapper(e.Data);
                if (ddw.IsFileDrop)
                {
                    var uri = new Uri(Path.GetFullPath(ddw.GetFilePath()));
                    this.Activate();
                    this.BeginInvoke(new Action(() => OnCommand(CommandOpenUri, uri)));

                    //string fileName = ddw.GetFilePath();
                    //if (fileName != string.Empty)
                    //{
                    //    this.Activate();
                    //    this.BeginInvoke(new OpenFileHandler(OpenFile), fileName, true);
                    //}
                }
                else if (ddw.IsLinkDrop)
                {
                    var uri = new Uri(ddw.GetLinkUri());
                    this.Activate();
                    this.BeginInvoke(new Action(() => OnCommand(CommandOpenUri, uri)));

                    //string linkUrl = ddw.GetLinkUri();
                    //if (linkUrl != string.Empty)
                    //{
                    //    Uri fileUri = new Uri(linkUrl);
                    //    this.Activate();
                    //    this.BeginInvoke(new OpenUriHandler(OpenUri), fileUri);
                    //}
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }