Y at-il un moyen de masquer ou de déplacer le curseur de la PasswordBox?WPF PasswordBox Caret
Répondre
Dans .NET 3.5 SP1 ou précédent, il n'y a aucun moyen propre de spécifier la couleur d'une zone de texte WPF/PasswordBox caret.
Cependant, il existe un moyen de spécifier (ou, dans ce cas, de supprimer) ce signe de la vue (via un hack). La couleur du caret est la couleur inverse de la couleur d'arrière-plan de TextBox/PasswordBox. Ainsi, vous pouvez rendre la couleur d'arrière-plan "noir transparent", ce qui trompera le système en utilisant un curseur blanc (qui n'est pas visible).
Le code est (simplement) comme suit:
<PasswordBox Background="#00000000" />
Pour plus d'informations sur cette question, s'il vous plaît consulter les liens suivants:
- http://cloudstore.blogspot.com/2008/09/changing-caret-colour-in-wpf.html
- http://blogs.msdn.com/llobo/archive/2007/02/08/changing-caret-color-in-textbox.aspx
Notez que dans .NET 4.0 le Caret sera customiz capable.
Espérons que cela aide!
Je sais que c'est un vieux fil, mais est-ce que quelqu'un sait quelque chose au sujet du «carat personnalisable» dans 4.0? Je ne peux pas le trouver – DefenestrationDay
Vérifiez la propriété CaretBrush sur le TextBox:
Merci Brad, j'ai cherché pour cela. – Nasenbaer
Vous pouvez essayer quelque chose comme ceci pour définir la sélection dans le PasswordBox:
private void SetSelection(PasswordBox passwordBox, int start, int length)
{
passwordBox.GetType()
.GetMethod("Select", BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(passwordBox, new object[] { start, length });
}
Après cela, appeler comme celui-ci pour régler la position du curseur:
// set the cursor position to 2... or lenght of the password
SetSelection(passwordBox1, 2, 0);
// focus the control to update the selection
passwordBox1.Focus();
Pour obtenir la sélection de Passwordbox j'utilise ce code:
private Selection GetSelection(PasswordBox pb)
{
Selection result = new Selection();
PropertyInfo infos = pb.GetType().GetProperty("Selection", BindingFlags.NonPublic | BindingFlags.Instance);
object selection = infos.GetValue(pb, null);
IEnumerable _textSegments = (IEnumerable)selection.GetType().BaseType.GetField("_textSegments", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(selection);
object first_textSegments = _textSegments.Cast<object>().FirstOrDefault();
object start = first_textSegments.GetType().GetProperty("Start", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(first_textSegments, null);
result.start = (int) start.GetType().GetProperty("Offset", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(start, null);
object end = first_textSegments.GetType().GetProperty("End", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(first_textSegments, null);
result.length = (int)start.GetType().GetProperty("Offset", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(end, null) - result.start;
return result;
}
struct Selection
{
public int start;
public int length;
}
Testé à .net 4.0, espérons que cela fonctionne pour vous aussi .
- 1. wpf passwordbox caret
- 2. WPF filigrane PasswordBox de filigrane TextBox
- 3. Caret personnalisé pour WinForms TextBox
- 4. C++/Qt: dessiner un caret
- 5. TextField() Définir la position caret
- 6. Quel est le meilleur moyen de récupérer la clé de retour dans un PasswordBox? (WPF/XAML)
- 7. Comment est-ce que je peux assiter le Caret à un contrôle dans WPF
- 8. Comment obtenir la valeur de <PasswordBox dans Silverlight?
- 9. Changer la couleur du caret dans silverlight 2
- 10. Changer la couleur du curseur de texte (caret) dans Cocoa?
- 11. WPF Comment utiliser le même modèle
- 12. Détermination du InlineUIContainer sélectionné dans un fichier WPF RichTextBox
- 13. WPF Richtextbox FontFace/FontSize
- 14. Comment trouver la zone d'affichage d'un RichTextBox WPF?
- 15. Aligner verticalement le curseur de texte (caret?) Dans une boîte de saisie avec jQuery, Javascript ou CSS
- 16. Comment puis-je définir la position du curseur sur un index spécifique dans la boîte de mot de passe dans WPF
- 17. WPF Toolkit: Bogue VisualStateGroup?
- 18. WPF MultiBinding
- 19. wpf datepicker
- 20. WPF HierarchicalDataTemplate
- 21. WPF usercontrol
- 22. WPF RibbonControlLibrary
- 23. WPF Listview
- 24. WPF DataGrid.ItemSource
- 25. WPF FrameworkElement
- 26. Wpf ImageButtons?
- 27. WPF Destructor
- 28. Wpf DatagridComboBoxCell
- 29. Avoir une fenêtre wpf dans une autre fenêtre wpf
- 30. Syntax Highlighter pour WPF
Y a-t-il une chance que vous en parliez? – Joey