Если я создаю ComboBox с нуля, при изменении размера окна содержимое корректно отображается выше / ниже и т. Д.
ComboBox
Почему этого не происходит, когда вы создаете свой собственный класс, производный от Combo? Чего мне не хватает?
Управление не волшебное. Им нужно сообщить, что что-то происходит (вызвать метод для них) или ожидать, что они произойдут (зарегистрироваться на событие).
Найдите ваше Application.RootVisual и зарегистрируйтесь для события SizeChanged . Затем измените свой контроль. Если он находится в браузере, вам может потребоваться создать мост javascript (надеюсь, что нет), который сообщает объекту SL, когда размер браузера изменяется.