Я пишу элемент управления в стиле панели инструментов и использую модуль ThemeServices, чтобы закрасить фон, необходимый для панели инструментов. Вот так:
ThemeServices.DrawElement(Canvas.Handle,
ThemeServices.GetElementDetails(trRebarRoot), ARect);
Затем я помещаю дочерние элементы управления на панель инструментов, и вуаля - мгновенная панель инструментов. За исключением того, что время от времени я замечаю, что вложенные (дочерние) элементы управления также не перерисовываются. Поэтому мой элемент управления закрашивает его фон, а дочерние элементы управления исчезают, пока вы не наведете на них мышь.
Некоторые элементы управления редактирования показывают свою клиентскую область (без границ), а некоторые из них просто исчезли.
В основном это происходит, когда я помещаю окно из другого приложения на панель инструментов и удаляю его.
Я продолжаю думать, что это должно быть очень легко вылечить, что, возможно, я каким-то образом предотвращаю попадание сообщения рисования в дочерние элементы управления или пропускаю переопределение, но я не смог понять это.