Je souhaite afficher une sélection dans une zone de texte WPF même si elle n'est pas au point. Comment puis-je faire ceci?Comment conserver la sélection de la zone de texte WPF lorsqu'elle n'est pas focalisée?
Répondre
J'ai utilisé cette solution pour un RichTextBox, mais je suppose qu'il fonctionnera également pour une zone de texte standard. Fondamentalement, vous devez gérer l'événement LostFocus et le marquer comme manipulé. Le TextBox ne réalisera pas qu'il a perdu le focus et affichera toujours la sélection en surbrillance.
Je n'utilise pas de liaison de données dans ce cas, il est donc possible que cela perturbe la liaison bidirectionnelle. Vous devrez peut-être forcer la liaison dans votre gestionnaire d'événements LostFocus. Quelque chose comme ceci:
Binding binding = BindingOperations.GetBinding(this, TextProperty);
if (binding.UpdateSourceTrigger == UpdateSourceTrigger.Default ||
binding.UpdateSourceTrigger == UpdateSourceTrigger.LostFocus)
{
BindingOperations.GetBindingExpression(this, TextProperty).UpdateSource();
}
Une autre option est de définir un champ de mise au point séparée en XAML pour maintenir la sélection dans la première zone de texte.
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBox Grid.Row="0" Text="Text that does not loose selection."/>
<StackPanel Grid.Row="1" FocusManager.IsFocusScope="True">
<TextBox Text="Some more text here." />
<Button Content="Run" />
<Button Content="Review" />
</StackPanel>
</Grid>
public class CustomRichTextBox : RichTextBox
{
protected override void OnLostFocus(RoutedEventArgs e)
{
}
}
J'ai trouvé que les suggestions énumérées (ajouter un gestionnaire de LostFocus, la définition d'un FocusScope) de ne pas travailler, mais je suis venu à travers le code indiqué ici: http://naracea.com/2011/06/26/selection-highlight-and-focus-on-wpf-textbox/, ce qui crée un Adorner personnalisé qui met en évidence la texte lorsqu'il n'est pas ciblé.
- 1. Conserver la sélection de texte lorsque le focus change
- 2. wpf: Mousedoubleclick pour la zone de texte
- 3. WPF CommandParameter dans la zone de texte
- 4. La sélection d'un élément de zone de texte dans une zone de liste ne modifie pas l'élément sélectionné de la zone de liste
- 5. Comment conserver la sélection de texte lors de l'ouverture d'un dialogue jQuery
- 6. Composant de recherche pour la zone de texte WPF
- 7. Problème imitant la zone de texte de la fenêtre de sortie VS avec une zone de texte WPF
- 8. Validation dans la zone de texte dans WPF
- 9. Définir le focus dans la zone de texte WPF
- 10. Comment lire la zone de texte. Valeur de texte d'un autre thread dans WPF?
- 11. La table ne conserve pas la sélection
- 12. Sélection de points géographiques dans la zone
- 13. Inverser la sélection de texte par programmation dans une zone de texte enrichi (vb.net)
- 14. Conserver l'état de la sélection après la modification de la collection backend dans ListView
- 15. Ne pas autoriser le zéro dans la zone de texte
- 16. Conserver le formatage de la zone de texte après une publication?
- 17. Zone de texte riche arrondi sélection de coin arrondi
- 18. Comment remplacer la commande Copier dans la zone de texte WPF?
- 19. Flex: Modification de la zone de texte
- 20. Désactivation de la sélection de texte dans DocumentViewer
- 21. obtenir la valeur de la zone de texte de php
- 22. Sélection de Treeviewitem dans WPF
- 23. Validation de la zone de texte
- 24. focus sur la zone de texte
- 25. comment ajouter le texte d'une zone de sélection et le texte de la saisie de formulaire dans un champ caché
- 26. Comment créer une zone de texte glissable? (C.-à inhiber la sélection de texte, mais permettre le positionnement du curseur)
- 27. Handling Cursor dans la zone de texte
- 28. Comment désactiver temporairement la sélection de texte en utilisant JavaScript?
- 29. comment modifier la valeur dans la zone de texte à la date actuelle en fonction de la valeur sélectionnée dans la zone de liste déroulante dans javascript
- 30. Je veux faire une interface utilisateur comme la boîte de sélection + zone de texte
Cela a fonctionné! Merci! –
+1 Belle solution - m'a aidé à créer une fonction de recherche ... Thx – reSPAWNed
Cela fonctionne principalement, mais ne fonctionne pas avec les sélections RichTextBox non ciblées - la sélection ne bouge pas avec le texte. – Cameron