Quelqu'un at-il une idée de comment je peux désactiver Drag & Drop pour tous mes éléments TextBox? J'ai trouvé quelque chose here, mais cela aurait besoin de moi pour lancer une boucle pour tous les éléments.WPF/C#: désactiver le glisser-déposer pour les TextBox?
Répondre
Vous pouvez facilement envelopper ce que cet article décrit dans une propriété attachés/comportements ...
ie. TextBoxManager.AllowDrag = "False" (Pour plus d'informations, consultez ces 2 articles CodeProject - Drag and Drop Sample et verre Effet échantillon link text)
Ou essayer le nouveau mélange SDK Behaviors
MISE À JOUR
- Lire également this article par Bill Kempf sur les comportements attachés
- Et comme kek444 souligné dans les commentaires, vous venez de créer un style par défaut pour textbxo cela à ensemble de propriété tached!
Utilisez les éléments suivants après InitializeComponent()
DataObject.AddCopyingHandler(textboxName, (sender, e) => { if (e.IsDragDrop) e.CancelCommand(); });
Pour ceux qui cherchent à faire cela, c'est de loin le moyen le plus simple de le faire à partir du code. Une explication complète est ici: http://www.switchonthecode.com/tutorials/wpf-snippet-disabling-dragging-from-a-textbox – stone
Créez votre contrôle utilisateur propriétaire ex MyTextBox: TextBox et passer outre:
protected override void OnDragEnter(DragEventArgs e)
{
e.Handled = true;
}
protected override void OnDrop(DragEventArgs e)
{
e.Handled = true;
}
protected override void OnDragOver(DragEventArgs e)
{
e.Handled = true;
}
Cela ne fonctionne pas. Il empêche la chute, mais ne fait pas glisser le contrôle. En outre, des choses horribles peuvent se produire lorsque vous déposez le texte de la zone de texte ailleurs. – Mark
Personnellement, je créé un contrôle TextBox personnalisé qui ne permet pas faites glisser comme suit:
/// <summary>
/// Represents a <see cref="TextBox"/> control that does not allow drag on its contents.
/// </summary>
public class NoDragTextBox:TextBox
{
/// <summary>
/// Initializes a new instance of the <see cref="NoDragTextBox"/> class.
/// </summary>
public NoDragTextBox()
{
DataObject.AddCopyingHandler(this, NoDragCopyingHandler);
}
private void NoDragCopyingHandler(object sender, DataObjectCopyingEventArgs e)
{
if (e.IsDragDrop)
{
e.CancelCommand();
}
}
}
Au lieu d'utiliser TextBox, utilisez local: NoDragTextBox où "local" est l'alias de l'emplacement de l'assembly NoDragTextBox. La même logique ci-dessus peut également être étendue pour empêcher Copy/Paste sur TextBox.
Pour plus d'informations vérifier la référence au code ci-dessus à http://jigneshon.blogspot.be/2013/10/c-wpf-snippet-disabling-dragging-from.html
- 1. Comment désactiver les raccourcis dans WPF TextBox
- 2. Sharepoint 2007: Comment désactiver TextBox
- 3. asp.net MVC: désactiver un TextBox
- 4. TextBox multiligne en html pour le script php
- 5. Désactiver les liens pour l'URL actuelle?
- 6. Comment désactiver le glisser-déposer pour NSTextField?
- 7. Désactiver les chiffrements faibles pour Tomcat 5.5.27?
- 8. Caret personnalisé pour WinForms TextBox
- 9. Désactiver AutoCompleteExtender lorsque le caractère '*' existe
- 10. Désactiver le menu contextuel du système DataGridView
- 11. Pour désactiver le contenu multimédia dans IE
- 12. Méthode générique pour trouver tous les contrôles TextBox dans Silverlight
- 13. Y at-il un moyen de désactiver/remplacer le style par défaut pour les WebControls désactivés
- 14. WPF: incorporation de TextBox dans TextBox
- 15. désactiver le contrôle.
- 16. Comment définir les restrictions d'entrée TextBox?
- 17. UIToolBar - désactiver les boutons
- 18. ListBoxItem sélection sur le focus TextBox
- 19. Pour désactiver onfocus = "this.blur();"
- 20. Persister Textbox dans le cookie/session automatiquement
- 21. Trouver textbox pertinentes pour l'élément courant
- 22. TextBox let '\ n' le retour de chariot
- 23. désactiver le gradient UINavigationBar
- 24. Désactiver le plugin Grails
- 25. LaTeX: désactiver ou désactiver l'hyperlien pour la table des matières?
- 26. Désactiver le test dans cmake
- 27. Désactiver les zones de texte
- 28. AutoPostback avec TextBox perd le focus
- 29. Comment faire pour désactiver "periodically_call_remote"
- 30. Désactiver DefaultSettingValueAttribute Créer sur les paramètres d'application pour l'application .Net
Et bien sûr, définissez les propriétés attachées dans un style par défaut pour la zone de texte, si cela est nécessaire pour sauver quelques manipulations. –