Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set focus on listbox item?

Tags:

c#

wpf

xaml

I have a defined list box like this:

var listBox = new ListBox();
listBox.Items.Add(1);        
listBox.Items.Add(2);
listBox.Items.Add(3);

And I want to set focus directly to an item in the listbox.

If I do this:

listBox.SelectedIndex = 0;
listBox.Focus();

The focus is set to the entire listBox, so if I press arrow down to move the selection to the item below, I have to press the arrow twice. First time the focus jumps from the entire listBox to the first item, and then when I can press the arrow again and the selection finally jumps down.

I want to set the focus directly to that first item, so I don't have to press the arrow twice.

like image 623
user3595338 Avatar asked Jun 08 '14 20:06

user3595338


1 Answers

var listBoxItem =  
   (ListBoxItem)listBox
     .ItemContainerGenerator
       .ContainerFromItem(listBox.SelectedItem);

listBoxItem.Focus();
like image 129
Noor E Alam Robin Avatar answered Sep 21 '22 07:09

Noor E Alam Robin