Répondre

1

chute de glisser vers une application Silverlight d'autres surfaces extérieures de l'application Silverlight est disponible uniquement dans Silverlight 4 et est limité à une liste de fichiers charge utile. Par conséquent, la seule fonction de glissement que vous pouvez réaliser entre une application WPF et Silverlight consiste à lancer l'opération de glissement dans l'application WPF et à inclure une liste de fichiers standard dans les données attachées au glissement.

0

Je suis d'accord avec @AnthonyWJones. Silverlight n'a pas la méthode System.Windows.DragDrop.DoDragDrop que WPF a, de sorte que vous ne pouvez pas initier un "réel" glisser & drop. Vous pouvez faire glisser les contrôles & dans votre application, mais il n'est pas possible de faire ce que vous demandez.

0

Anthony et Timores sont corrects dans leurs réponses, mais je vais essayer de faire preuve de créativité avec quelques idées ici:

  • Si vous pouvez tirer parti des mêmes services de back-end, peut-être quand un frein commence (MouseDown + MouseMove) vous pouvez envoyer un morceau de XAML à un service pour stocker/mettre en cache le contenu, et quand un glisser se termine sur l'autre application (MouseEnter + MouseUp sur la cible), vous pouvez appeler ce service pour retirer le contenu en cache
  • Dans Silverlight 4, vous avez accès dans le système de fichiers local aux dossiers "Mes" utilisateurs. Vous pourrez peut-être utiliser un fichier temporaire et les événements drag begin/drag end décrits ci-dessus pour transférer votre fragment XAML d'une application à une autre. Reportez-vous à http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx#localfiles
  • Si vous souhaitez faire glisser et déposer du texte, vous pouvez utiliser le presse-papiers. Donc, quand un glisser commence, copiez le texte dans le presse-papiers. Lorsque vous terminez votre glisser dans l'autre application, lisez dans le presse-papiers et ajoutez le contenu à la cible