SuRGeoNix/Flyleaf

FlyleafHost causes stuck content in TabControl tab

Closed this issue · 5 comments

Hello,

When using FlyleafHost(s) in a WPF TabControl, then opening a new tab for the first time, the content of the first tab, gets "stuck" on top of the new tab. In my case, it copies the layout that Flyleaf controls are drawn on top of, to the next tab. This only happens when switching to the tab for the first time.

This might be an issue in WPF itself, https://github.com/dotnet/wpf/ + issues/5728, but something in FlyleafHost triggers it.

Tab.Stuck.mp4

flyleaf_tab_switch.log

Curiously, if I call FlyleafHost.SetOverlay(); in my own code, this problem does not occur. But this brings another problem. When "fullscreening" an element containing a FlyleafHost, the overlay on the first element does not resize properly. Sometimes it stays in fullscreen size, sometimes it resizes to smaller than the FlyleafHost itself. This in turn, does not happen when not using FlyleafHost.SetOverlay(); in my own code. (Fullscreen mode in this case is not FlyleafHost's built-in. We swap whatever element is being toggled to fullscreen to the first slot, and remove the others, letting WPF resize it automatically. This is for legacy reasons, we have other elements than ones containing FlyleafHosts to display).

Layout.Resize.mp4

Finally, if I use FlyleafHostOld, both of these problems do not appear. But FlyLeafHostOld is always on top and is drawn on top of my floating menu windows. They're drawn on a different window that follows the main window, and this works fine with FlyleafHost just not with FlyleafHostOld.

Hi @rkinnunen, I think I came across this one. If possible create a very simple repo/demo to reproduce it easily. I will have a look in the weekend.

@rkinnunen I can't reproduce it so I will need a minimal reproduceable sample

@rkinnunen any news one this one?

Thought to let you know that something in 3.7.42 fixed this issue.

@rkinnunen nice, thanks for the update