Я знаю, что на этот вопрос уже был дан ответ, и вопрос старый, но ни один из представленных ответов не сработал для меня и после долгого времени устранения проблемы. Я наконец нашел более легкий ответ.
Если вы строите класс, начиная с Element Host и в исходном конструкторе. Вы можете установить событие загрузки для хост-контейнера. Хост-контейнер - это панель, над которой отображается дочерний элемент-хост. Оттуда просто установите цвет фона Host Containers на цвет фона Element Hosts Parents.
Как это
using System.Windows;
using System.Windows.Forms;
using System.Windows.Media;
public class MyElementHost : ElementHost
{
public MyElementHost()
{
this.HostContainer.Loaded += new RoutedEventHandler(HostPanelLoad);
}
public void HostPanelLoad(object sender, RoutedEventArgs e)
{
System.Drawing.Color parentColor = this.Parent.BackColor;
this.HostContainer.Background = new SolidColorBrush(Color.FromArgb(parentColor.A, parentColor.R, parentColor.G, parentColor.B));
}
}