Ich bin gerade dabei, eine Bildschirmtastatur zu erstellen. Ich verarbeite den Knopfklick mit routedcommands. Das Problem ist, dass wenn ich auf die Schaltfläche im Tastaturfeld klicke, der Fokus auf die Schaltfläche und nicht auf die Textbox verschoben wird. Die Anforderung besagt, dass immer ein Cursor im Textfeld angezeigt werden muss, um die Position anzugeben, an der das nächste Zeichen eingefügt wird. Gibt es eine Möglichkeit, dass ich mich auf die Textbox konzentrieren kann, während auf die Schaltfläche geklickt wird.Cursor Fokus auf Textfeld in WPF/C#
Antwort
Um die logischen Fokus auf ein Eingangssteuer
FocusManager.SetFocusedElement(this, textboxJack); // set logical focus
Zum Einstellen des Tastaturfokus auf ein Eingangssteuer
Keyboard.Focus(textboxJill); // set keyboard focus
Um zu wissen, den Unterschied zwischen logischem und Tastatur eingestellt Fokus
Input Overview - Focus auf MSDN
Ich mag diese Do-my-Hausaufgaben für mich Fragen; "Die Anforderung besagt" ... unbezahlbar. Für diejenigen, die dies über Google finden, besteht der Trick, den Cursor in einer WPF-TextBox zu bewegen, darin, die SelectioNStart-Eigenschaft zu verwenden.
private void Button_Click(object sender, RoutedEventArgs e)
{
textBox.Focus();
textBox.SelectionStart = textName.Text.Length;
}
So wie ich dieses Problem gelöst war focusable=false
auf alle Tasten/Bedienungselemente auf der Tastatur einzustellen. Auf diese Weise verlieren Sie nicht den Fokus der aktuellen Kontrolle.
Ihr Problem kann gelöst werden, indem Sie einen separaten Fokusbereich für Ihre "Tastatur" verwenden. Wenden Sie einfach die folgende Eigenschaft auf das Steuerelement, das alle Ihre Tasten enthält, und dann werden sie in einem separaten Fokusbereich und wird der Fokus nicht auf sie gesetzt haben, wenn
geklicktFocusManager.IsFocusScope="True"
Textbox.Focus();
dies auf das konzentrieren Textfeld
Holen Sie sich die Referenz für das spezifische Steuerelement (in diesem Fall TextBox). Nach dem Klick, das in Button_Click Methode einfügen:
Dispatcher.BeginInvoke((ThreadStart)delegate
{
control.Focus();
});
für mich, Just Just Nur es funktioniert. Vielen Dank... –
ich diese verwenden musste mein gewünschtes Ergebnis
FocusManager.SetFocusedElement(this, UserNameautoCompleteBox);
Key key = Key.Enter; // Key to send
var target = Keyboard.FocusedElement; // Target element
RoutedEvent routedEvent = Keyboard.KeyDownEvent; // Event to send
target.RaiseEvent(
new KeyEventArgs(
Keyboard.PrimaryDevice,
PresentationSource.FromVisual(UserNameautoCompleteBox),
0,
key) { RoutedEvent = routedEvent }
);
Ich wollte das Gleiche tun zu bekommen, aber nichts schien für mich zu arbeiten. Ich brauchte wirklich eine Antwort, die rein in XAML arbeitete, während ich mit MVVM arbeite.
Schließlich fand ich dieses Beispiel: http://spin.atomicobject.com/2013/03/06/xaml-wpf-textbox-focus/
und modifiziert es dazu:
Im Abschnitt 'Ressourcen':
<Style x:Key="FocusTextBox" TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=textBoxName, Path=IsVisible}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=textBoxName}"/>
</DataTrigger>
</Style.Triggers>
</Style>
In meinem Start Definition:
<Grid Style="{StaticResource FocusTextBox}" />
- 1. Feuerereignis auf Textfeld verlieren Fokus
- 2. Handhabung Cursor in Textfeld
- 3. wie Cursor Fokus auf Textbox setzen?
- 4. Textfeld manchmal Cursor fehlt
- 5. LibGDX: Text von Textfeld auf Fokus ändern
- 6. Fokus geht auf übergeordnete Raster statt Textfeld
- 7. Erkennen von UISearchBar Fokus auf das Textfeld
- 8. Kann Fokus() nicht auf ein Textfeld setzen
- 9. Javascript html Editor Cursor Fokus folgende Maus
- 10. Blinken Cursor im Textfeld verhindern
- 11. Javascript De-Fokus Textfeld Eingabe
- 12. Kopieren/Einfügen Cursor Sprache in Textfeld
- 13. Cursor-Position in einem Textfeld eingeben
- 14. Problem mit Textfeld Fokus in WPF
- 15. Textfeld Fokus in Phonegap funktioniert nicht
- 16. Wie wird ein Fokus auf ein Textfeld zurückgesetzt, wenn der Fokus auf einem HTML-Formular verloren geht?
- 17. Popup-Bildschirmtastatur auf Textfeld-Fokus-Ereignis in Windows Store-App
- 18. Textfeld Fokus springt auf über Dropdown-Liste, wenn in
- 19. Zugänglichkeit verschieben Voiceover-Cursor-Fokus auf ein bestimmtes Element
- 20. JFormattedTextField Caretposition auf Fokus
- 21. Fokus einstellen UND Cursor auf bestimmte JTable-Zelle blinkend
- 22. Java - ein Textfeld nicht den Fokus verlieren
- 23. Markieren Sie Textfeld in Formularen, wenn Maus ausgewählt/Fokus auf Textfeld VB.NET
- 24. Wie UITextField Cursor zum nächsten Textfeld verschieben
- 25. jQuery UI Dialog und Textfeld Fokus Issue
- 26. Fokus oder Wählen Textfeld in C# Windows Forms Anwendung
- 27. wie Fokus auf ein Textfeld setzen oder PasswordBox
- 28. Textfeld erhält den Fokus, aber Sie können nichts eingeben
- 29. Setzen Sie die Cursor/Cursor-Position an das Ende des String-Wertes WPF Textfeld
- 30. UITextField gesetzt Cursor Textposition
Dies ist keine "Do-my-Hausaufgaben-für-mich" -Frage. Es ist eine "Ich mache meine Hausaufgaben, aber ich bin fest, kann jemand mir einige Hinweise geben" Frage. –