Besoin de faire un nouveau contrôle WPF et lui donner le Caret. Dans WINFORMS ou l'interface utilisateur Windows précédente, il était facile d'utiliser les fonctions Caret de l'API WIN, mais maintenant, dans WPF, nous n'avons pas de commande pour chaque contrôle, alors ... y a-t-il un moyen de le faire?Comment est-ce que je peux assiter le Caret à un contrôle dans WPF
Répondre
Dans WPF, le signe insertion est en fait CaretElement, un objet FrameworkElement interne utilisé pour rendre les blocs de sélection et le curseur.
Si vous n'héritez pas d'une sorte de contrôle qui offre déjà le support du curseur et que vous essayez de le manipuler, vous risquez malheureusement d'avoir à le mettre en œuvre à partir de zéro.
EDIT
Le CaretElement est interne au cadre et oui, non documenté. Par exemple, il est mentionné here.
Une implémentation personnalisée à code source fermé existe dans un package commercial.
Caret dans WPF est juste une autre animation, pas d'API spéciale pour cela. Dessinez une ligne et modifiez son opacité avec DoubleAnimation. Si vous regardez de plus près WPF TextBox, le curseur ne fait même pas d'inversion de pixel, c'est juste une ligne grise dessinée au-dessus de la lettre. Potentiellement, vous pouvez faire l'inversion de pixels dans WPF, en implémentant un effet de pixel shader. Ça ne vaut pas le coup. VS2010 beta ne fait pas d'inversion pour le texte de texte.
En dehors de TextBox/RichTextBox il y a 3 autres composants d'édition, vous trouverez:
- Expression éditeur de code Blend
- Visual Studio 2010 éditeur de code
- SharpDevelop 4 éditeur de code
Ok, c'est délicat ... et puis TExt doit être géré par l'événement TextInput ainsi que par les événements Preview/KeyDow/UP. C'est un cauchemar de le faire à partir de zéro .... Merci pour l'aide. Vous tous. – jmayor
C'est certainement un cauchemar de bonne qualité. –
En relation: [Comment puis-je obtenir la période de caret de systèmes dans .NET?] (Http://stackoverflow.com/questions/11986832/how-do-i-get-the-systems-caret-period-in-net) ... et bien qu'il n'y ait pas de moyen direct de récupérer la fréquence de clignotement du caret dans WPF autrement qu'en utilisant P/Invoke ou en référençant WinForms (décidez vous-même quel est le moindre mal), la classe 'SystemParameters' de WPF fournit un ['CaretWidth'] (http://msdn.microsoft.com/en-us/library/system.windows.systemparameters.caretwidth.aspx) champ. –
- 1. wpf passwordbox caret
- 2. WPF PasswordBox Caret
- 3. Y at-il un contrôle WPF que je peux utiliser pour développer/réduire des panneaux (animés)
- 4. Comment est-ce que je peux rendre à un cubemap?
- 5. Comment est-ce que je peux attraper un symbole que l'utilisateur est frappé sur le clavier?
- 6. Comment puis-je implémenter un OutputStream que je peux rembobiner?
- 7. Dans WPF, comment puis-je ajouter une bordure à un contrôle dans le code derrière?
- 8. Comment puis-je "cliquer sur" un contrôle dans WPF?
- 9. C# - Je sais que je peux le faire dans LINQ, mais je ne peux pas le faire fonctionner
- 10. Comment "décorer" un contrôle dans WPF?
- 11. Comment puis-je définir TabIndex sur un contrôle WPF Expander?
- 12. Comment puis-je contourner le fait que je ne peux pas mettre un bloc de code dans un fichier skin?
- 13. Redimensionner un contrôle dans WPF
- 14. WPF « Magic » dans un contrôle PropertyGrid
- 15. Pourquoi est-ce que je ne peux pas lier le ItemSource WPFToolkit DataGrid à DataTable?
- 16. Centrer un contrôle WPF
- 17. C++/Qt: dessiner un caret
- 18. Comment est-ce que je peux fondre dans un ensemble d'images? pas un diaporama
- 19. intégrer google map dans le contrôle wpf
- 20. Comment puis-je convertir un contrôle WPF en une image?
- 21. Comment est-ce que je peux montrer un fileur pendant le chargement des images de Flickr?
- 22. Code asp.net en ligne, liste d'événements que je peux remplacer
- 23. Comment est-ce que je peux patcher des assemblys .NET?
- 24. Comment puis-je accéder à un contrôle ActiveX dans MFC?
- 25. Générer un jeton que je peux prouver J'ai généré
- 26. Forcer un contrôle WPF à actualiser?
- 27. Comment est-ce que je peux simplifier ce jquery répétitif?
- 28. WPF: Comment intégrer un contrôle de contenu dans un autre?
- 29. ListBox en tant que contrôle numérique UpDown dans WPF
- 30. Comment est-ce que je peux installer un perl séparé sans déranger le perl existant?
Ce CaretElement n'est pas documenté, pas même accessible, n'est-ce pas? – jmayor
Réponse éditée pour l'exhaustivité. –
J'ai créé un article expliquant en créer un dans WPF http://www.codeproject.com/Articles/633935/Customizing-the-Caret-of-a-WPF-TextBox –