К сожалению, у меня пока недостаточно репутации, чтобы комментировать, поэтому я добавлю это в качестве ответа.
Недавно у меня была очень похожая проблема с Flash, и я использовал WindowsFormsHost и Overlays / Adorners . Просто мои 2цента.
Вот XAML, создающий наложение как всплывающее окно:
<Grid>
<Canvas >
<WebBrowser x:Name="wbMain" Width="800" Height="500"></WebBrowser>
<Popup x:Name="puOverlay" AllowsTransparency="True" Placement="Bottom" PlacementTarget="{Binding ElementName=wbMain}">
<Ellipse Canvas.Left="0" Canvas.Top="0" Height="50" Name="headEllipse" Stroke="Black" Fill="Orange" Width="50" Canvas.ZIndex="5"/>
</Popup>
<Ellipse Canvas.Left="0" Canvas.Top="0" Height="50" Name="headEllipse1" Stroke="Black" Fill="Orange" Width="50" Canvas.ZIndex="5"/>
</Canvas>
</Grid>
Ради простоты я уменьшил оверлей до одного эллипса. Веб-браузер размещен в WindowsFormsHost.
Вот код, размещающий и показывающий его:
public MainWindow()
{
InitializeComponent();
puOverlay.VerticalOffset = -60;
puOverlay.HorizontalOffset = (wbMain.ActualWidth / 2) - 20;
puOverlay.IsOpen = true;
...
}
Довольно просто, но не стесняйтесь спрашивать, если что-то все еще неясно.