|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
Hello,
We are trying to overlay another component (telerik ui blocker) but it seems impossible to go above the web browser component.
Any ideas?
Thank you,
Jim
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,196
|
Hi,
You will not be able to overlay other WPF controls on top of EO.WebBrowser in an WPF application. This is because EO.WebBrowser has its own window and WPF can not overlay non-windowed control over a windowed control. This is a known restrictions of WPF and you will have the same problem if you use any other windowed control. If you use the Windows Forms version, then you would not have this problem.
Unfortunately we are not aware of any reliable workaround for this problem. Thus you may want to use something else such as a modal dialog to achieve the same result.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
Hello,
Thanks for replying so fast!
By modal dialog you mean the custom wpf window and the use of window.showDialog() and window.close(), right?
Regards,
Jim
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,196
|
Yes. You can do that.
|
|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
Awesome, we'll follow this route then.
thank you
Regards,
jim
|
|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
Hmmm,
could we use the "plain" WebView object instead of the WPF/WinForms version and achieve the overlay?
Regards,
Jim
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,196
|
Hi,
You can but it won't solve the problem for you. The root of the problem is not because WebView's WPF flavor doesn't work. The root of the problem is because WebView uses it's own window handle (all modern browser engine do, IE does the same) and WPF can't render controls over controls that uses its own window handle. Using the "plan" WebView does not rid WebView of its own window handle thus still won't solve this problem. In another word, no matter what flavor of WebView you use, you won't be able to put anything over it in WPF.
On the other hand, Windows Form can render child controls over everything. That's why it will work in Windows Forms, even if you use the "plain" WebView. In another word, no matter what flavor of WebView you use, you can always place other controls over the WebView in Windows Forms.
The WPF and Windows Form wrapper control are just small "adapters" to make the "plain" WebView easier to integrate with the corresponding platform (particular design time behaviors). They do not change anything fundamentally.
Hope this clears up.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
Thanks for clearing up.
I tried also to bring a Web forms host control inside wpf in order to use the WinForms flavor of webview, but still the same problem exists. So I think we will proceed with the popup approach.
Thanks again,
Jim
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,196
|
Jim B wrote: I tried also to bring a Web forms host control inside wpf in order to use the WinForms flavor of webview, but still the same problem exists.
It won't work. As explained, it doesn't matter what flavor of WebView you use, as long as your host application is WPF, it can not render child control over a windowed control. How you wrap the WebView control in this case, either directly, or through the WPF wrapper, or through a Win Form host control and then through a Windows Forms wrapper is irrelevant because it does not change the fact that your host application is still a WPF application. Thanks
|
|
Rank: Advanced Member Groups: Member
Joined: 1/31/2015 Posts: 70
|
True...
Regards,
jim
|
|