Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
502 views
Welcome To Ask or Share your Answers For Others

1 Answer

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

listBoxItem.Focus();

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...