Maybe this will help you
<combobox name="comboBox1">
DropDownClosed="comboBox1_DropDownClosed"
SelectionChanged="comboBox1_SelectionChanged" />
And your code behind
private bool keepOpen = false;
private void comboBox1_DropDownClosed(object sender, EventArgs e)
{
new Thread(() =>
{
comboBox1.Dispatcher.Invoke(new Action(() =>
{
if (keepOpen)
{
comboBox1.IsDropDownOpen = true;
keepOpen = false;
}
}), null);
}).Start();
}
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
keepOpen = true;
}</combobox>