2009-09-04 11 views
0

Il est possible d'incorporer un TextBox dans un autre TextBox. Il ne doit pas être un TextBox, n'importe quel texte-composant éditable suffira. Je l'ai essayé avec TextBox et ai eu des erreurs de compilateur.WPF: incorporation de TextBox dans TextBox

Raisonnement: Je veux créer une sorte d'éditeur de code source. Je veux que les littéraux de chaîne dans mon code source soient autorisés à contenir toutes sortes de caractères spéciaux comme "," \ etc ... Pour cela, tous les littéraux de chaîne doivent être encapsulés dans des zones de texte distinctes dans le code source pour les séparer des autres

L'enregistrement et le chargement de la source s'effectuent à l'aide de xml avec tous les caractères spéciaux convertis en entités, donc mon seul problème est l'édition correcte, je ne veux pas mettre l'utilisateur hors tension avec des séquences d'échappement, etc ...

Répondre

1

une option pour ce serait d'utiliser un FlowDocument au lieu d'une zone de texte. cela vous permettent d'intégrer autant d'éléments TextBlock avec contrôles TextBox, et ont naturellement « flux » dans un document.

+0

est-ce assez "léger" pour moi? J'aurai beaucoup d'entre eux puisque je veux implémenter chaque ligne de code en tant que contrôle séparé – codymanix

+0

Je recommanderais un FlowDocument unique pour l'ensemble de votre fichier, et lui permettrait de "circuler" sur plusieurs lignes, en remplaçant les sections par des contrôles si nécessaire. Si vous faites chaque ligne comme un contrôle séparé, alors vous voudrez probablement utiliser un WrapPanel, avec des éléments TextBlock et TextBox inter-mélangés. Voir: http://msdn.microsoft.com/en-us/library/ms754037.aspx –