2009-07-03 13 views
1

Ich möchte den Fokus auf einem TextBox in meinem benutzerdefinierten Dokument Inhalt in WPF festlegen. Ich setze alle diese fokussierbaren Parameter auf wahr. Der Fokus liegt jedoch nicht auf der TextBox. Irgendein Gedanke oder Kommentar?Problem mit Textfeld Fokus in WPF

Bisher habe ich diese hinzugefügt:

textbox.Focus(); 
textbox.SelectAll(); 

an den Konstruktor meiner WPF-Seite.

Die TextBox ist in einer Canvas in einem DockPanel, und sie alle sind Teil eines custom:DocumentContent.

Vielen Dank im Voraus,

Antwort

6

Werfen Sie einen Blick auf this blog post und den MSDN Focus Overview Artikel. Aus Ihrer Frage klingt es so, als ob Sie versuchen, den Fokus im Konstruktor zu setzen. Die UI-Elemente wurden zu diesem Zeitpunkt noch nicht erstellt. Sie sollten den Fokus während des Loaded-Ereignisses Ihres Steuerelements festlegen.

+0

Sie haben auf ein sehr wichtiges Problem hingewiesen, dass UI-Elemente nicht im Konstruktor erstellt wurden. Ich habe es auch versucht, aber noch keine Konzentration. Jetzt habe ich eine andere Frage, ist es wichtig, wenn ich textbox.Focus() an verschiedenen Orten wie Konstruktor und Laden von Ereignissen und sogar auf dem XAML selbst aufrufen? Danke private void Document_Loaded (Objekt Absender, RoutedEventArgs e) { textbox.Focusable = True; textbox.Focus(); } – paradisonoir

+0

Sie haben Recht, ich habe die "geladene" der Textbox selbst hinzugefügt, und es hat funktioniert. Ich dachte, wenn ich es dem Benutzer hinzufügen würde: DocumentContent, würde es helfen, aber ich musste es dem Textfeld selbst hinzufügen. Danke für die Antwort. – paradisonoir

1

Das sollte funktionieren. Überprüfen Sie, ob textbox.Focus() True zurückgibt, es wird Ihnen sagen, ob Call funktioniert hat. Versuchen Sie außerdem, textbox.Focus() vom Loaded-Ereignis von Window/Page aufzurufen.