Supprimer le texte après avoir cliqué dans la zone de texte
Lorsque vous activez une application, une zone de texte avec le texte "hello" s'affiche.
Ma question est:
Lorsque vous cliquez sur la zone de texte afin de rendre les données d'entrée, je veux supprimer le texte automatiquement dans le code XAML, comment dois-je faire?
OriginalL'auteur What'sUP | 2011-08-07
Vous devez vous connecter pour publier un commentaire.
Poignée de la
UIElement.GotFocus
événement, et dans le gestionnaire, effacer le texte. Vous devrez également supprimer le gestionnaire, de sorte que si vous cliquez sur leTextBox
un deuxième temps, vous n'avez pas perdre ce que vous avez déjà saisies.Quelque chose comme ceci:
XAML:
Code-behind:
Pourriez-vous élaborer sur la dernière ligne de code, s'il vous plaît? Que fait-il et pourquoi est-il nécessaire? Je vous remercie.
également supprimer le gestionnaire" -> Le gestionnaire a été attribué dans le code XAML, GotFocus="TextBox_GotFocus", ce qui supprime afin de ne pas perdre le texte la prochaine fois.
OriginalL'auteur Donut
XAML de mise en œuvre qui ne nécessite pas de code-behind. C'est copié à partir du modèle d'un contrôle personnalisé que j'ai construit, et vous voudrez probablement pour en faire un personnalisé contrôle de vous-même.
L'idée de base est qu'il y a deux
TextBox
es dans unGrid
. Celui du haut est le contrôle que l'utilisateur interagit avec, mais il est invisible (son "Opacité" est de zéro), sauf si elle contient du texte ou des a le focus. La partie inférieure contient le texte de l'invite. Il ne sera visible que lorsque leTextBox
sur haut de il ne l'est pas, et il ne sera jamais obtenir le focus.Vous aurez probablement à perdre avec la liaison sur le modifiable
TextBox
, mais ce devrait vous obtenir a commencé.OriginalL'auteur Robert Rossney
Vous avez à mettre en œuvre à la fois GetFocus et LostFocus événements. De cette façon, vous pouvez définir le texte par défaut de retour dans le foyer perdu événement si aucun texte n'est entré.
OriginalL'auteur CharithJ
À disserter sur Beignet de répondre de sorte que votre zone de texte conserver le texte un les entrées de l'utilisateur, sauf si c'est purement espaces, voici une solution que j'utilise:
XAML
C#
OriginalL'auteur Meloviz
J'ai juste fait:
XAML:
Code derrière:
OriginalL'auteur Petermac
vous pouvez utiliser la méthode de frappe aussi , c'est aussi travailler
OriginalL'auteur Adarsh Gumashta
Veuillez ne pas trop compliquer la réponse de plusieurs façons à la peau d'un chat, mais,
moins de code, mieux je présume.
Petermac de l'option est la voie à suivre pour moi.
Ajouter "GotFocus" dans le code Xaml de la fenêtre pour le contrôle par exemple."zone de texte"
ou j'aime cette option
la question posée était juste pour vider la zone de texte.
OriginalL'auteur WannabeLordOfTheCode
Je veux mettre à jour Beignet de réponse.(applicable pour windows 8)
Code derrière le code-être
Actully dans ma page , il y avait deux textbox et un bouton. [Nom d'utilisateur,de passer,et cliquez sur le bouton]. Par défaut , l'accent va à ma première zone de texte et l'Utilisateur n'a pas été en mesure de voir le texte par défaut.
OriginalL'auteur jee