Please examine the attached solution where a possible approach for your issue is demonstrated. By the default the when SelectionChanged is fired in the dropdown content , the dropdown button closes which is expected ( you may see this behavior in the dropdown buttons in ms office). Setting KeepOpen to true removes this behavior but does not allow you to work with the IsOpenProperty. So you need to set KeepOpen to false on the go in order to use IsOpen for close/open operations. On the other hand I could reproduce the problem with the Opening event firing multiple times when selecting an item in the listbox. Please let me know if I have missed something.
Additionally, getting a parent element of a particular type can be achieved with the extension method ParentofType<> . You can also inspect this in the attached solution.
Let us know if you need more info and excuse us for the late response.
the Telerik team