2016-01-19 5 views
0

У меня есть окна с этими элементами управления.Как установить фокус на текстовое поле

Когда я использую ключ табуляции для получения фокуса, он переходит в режим сохранения после нажатия кнопки факса. Но я хочу пойти в BodyTextbox.

Я использую PreviewKeyDown для установки фокуса.

private void FaxButton_PreviewKeyDown(object sender, KeyEventArgs e) 
    { 
     if(e.Key==Key.Tab) 
     { 
      BodyTextBox.Focus(); 
      BodyTextBox.SelectAll(); 
      FocusManager.SetFocusedElement(this, BodyTextBox); 
     } 
    } 

Но не устанавливайте фокус.

ответ

0

При загрузке UserControl или Windowcontrol: Пожалуйста, напишите это в UserCOntrol_Load Событие:

Dispatcher.BeginInvoke (System.Windows.Threading.DispatcherPriority.Input,

     new Action(delegate() 

         { 
          BodyTextBox.Focus(); // Set Logical Focus 

         Keyboard.Focus(BodyTextBox); // Set Keyboard Focus 

        })); 

он будет автоматически сфокусируется n также вы можете писать содержимое с клавиатуры без каких-либо нажатий на вкладку.

Надеюсь, что это сработает для U ..

Спасибо, Praveen

+0

Спасибо, но я хочу, чтобы получить фокус при нажатии на клавишу Faxbutton. –

+0

KeyboardNavigation.TabIndex = "0" – maddy7781

+0

Добавьте это в свой блок управления текстовыми полями – maddy7781

0

Удалить событие PreviewKeyDown и добавить KeyboardNavigation.TabNavigation = «Продолжить» в панели инструментов

<ToolBar x:Name="Toolbar" KeyboardNavigation.TabNavigation="Continue"> 
+0

Спасибо, но когда я использую этот код, он переходит в текстовое поле, но не переходим к элементу на панели инструментов. –

+0

Да, это идет на все элементы в панели инструментов. Пожалуйста, объясните свой вопрос четко. –

+0

У меня есть несколько элементов управления перед панелью инструментов, перемещайтесь между элементами управления с помощью 'Tab'. в последнем управлении панелью инструментов, когда нажмите вкладку, перейдите на кнопку сохранения, а не перейдите в BodyTextBox. –

Смежные вопросы