J'ai une propriété cursorposition dans mon viewmodel qui détermine la position du curseur dans la zone de texte de la vue. Comment puis-je lier la propriété cursorposition à la position réelle du curseur dans la zone de texte.Handling Cursor dans la zone de texte
0
A
Répondre
1
Je crains que vous ne pouvez pas ... au moins, pas directement, car il n'y a pas de propriété "CursorPosition" sur le contrôle TextBox.
Vous pouvez contourner ce problème en créant un DependencyProperty en code-behind, lié au ViewModel, et en gérant la position du curseur manuellement. Voici un exemple:
/// <summary>
/// Interaction logic for TestCaret.xaml
/// </summary>
public partial class TestCaret : Window
{
public TestCaret()
{
InitializeComponent();
Binding bnd = new Binding("CursorPosition");
bnd.Mode = BindingMode.TwoWay;
BindingOperations.SetBinding(this, CursorPositionProperty, bnd);
this.DataContext = new TestCaretViewModel();
}
public int CursorPosition
{
get { return (int)GetValue(CursorPositionProperty); }
set { SetValue(CursorPositionProperty, value); }
}
// Using a DependencyProperty as the backing store for CursorPosition. This enables animation, styling, binding, etc...
public static readonly DependencyProperty CursorPositionProperty =
DependencyProperty.Register(
"CursorPosition",
typeof(int),
typeof(TestCaret),
new UIPropertyMetadata(
0,
(o, e) =>
{
if (e.NewValue != e.OldValue)
{
TestCaret t = (TestCaret)o;
t.textBox1.CaretIndex = (int)e.NewValue;
}
}));
private void textBox1_SelectionChanged(object sender, RoutedEventArgs e)
{
this.SetValue(CursorPositionProperty, textBox1.CaretIndex);
}
}
0
Vous pouvez utiliser la propriété CaretIndex. Cependant, il ne s'agit pas d'un DependencyProperty et ne semble pas implémenter INotifyPropertyChanged, donc vous ne pouvez pas vraiment vous lier à lui.
Questions connexes
- 1. Liens dans la zone de texte C#
- 2. WPF CommandParameter dans la zone de texte
- 3. Flex: Modification de la zone de texte
- 4. Validation de la zone de texte
- 5. Nouvelle zone de texte
- 6. Zone de texte HTMl
- 7. définir un texte de zone de texte égal au texte de la zone de texte sur un formulaire différent?
- 8. ASP.NET Afficher les éléments sélectionnés de la zone de liste dans la zone de texte
- 9. wpf: Mousedoubleclick pour la zone de texte
- 10. image se déplacent dans la zone de texte dans flex
- 11. Validation dans la zone de texte dans WPF
- 12. focus sur la zone de texte
- 13. Comment assainir correctement les données reçues d'une zone de texte, lors de la sortie dans la zone de texte?
- 14. Contrôle de zone de texte dans DataGridView
- 15. Modification de HotSpot Cursor dans WinForms/.NET
- 16. Caractère de limitation dans la zone de texte
- 17. Taille de la zone de texte dans Flash
- 18. redimensionner taille de police dans la zone de texte automatiquement
- 19. Problème de modification des valeurs dans la zone de texte
- 20. Charger l'URL de la zone de texte dans iframe
- 21. Formatage de zone de texte
- 22. Intégrer l'image dans une zone de texte
- 23. Zone de texte décimal dans Windows Forms
- 24. Ajouter un élément au-dessus de la zone de texte sans modifier la position de la zone de texte
- 25. Ne pas autoriser le zéro dans la zone de texte
- 26. Zone de texte dans la barre d'outils personnalisée
- 27. Vérification du script dans la zone de texte asp.net
- 28. Définir le focus dans la zone de texte WPF
- 29. Obtenir la position du curseur dans une zone de texte
- 30. VB.NET Lire la ligne actuelle dans une zone de texte?
Merci pour la réponse Thomas. Je vais l'essayer et je reviendrai vers vous. – deepak