Posted 13 years ago
by Tobias Weihmann
Dear Actipro-support,
I inherited from DockSite and overwrote CreateRaftingWindow(...) in order to set AllowsTransparency for the RaftingWindow to true. Then I changed all backgrounds to transparent. Unfortunately, this way I could not make my window fully transparent (ie. desktop visible through the Rafting window)- the window remained black.
So I suspected that something in RaftingWindow blocks full transparency. This was supported by an earlier comment on this forum "You will probably never get full transparency". However, I continued by replacing RaftingWindow with my own RaftingWindow which implements IRaftingWindow.
Now full transparency indeed works, after some fiddling I also managed sizing and the window can also be docked back to the main window.
Still I got a problem: When I try to move my Window, CreateRaftingWindow() is called again, replacing my window. This does not happen with the normal RaftingWindow. So I guess, that I need to register my window with the RaftingHost, so that DockSite knows that a window already exists.
Using Reflector I notice an internal call
RaftingHost.a((DependencyObject) this, (IRaftingWindow) this) in the constructor of RaftingWindow. However, this is internal. Is there any other way that I could tell DockHost/RaftingHost that the RaftingWindow was succesfully created?
Thank you!
Tobias
I inherited from DockSite and overwrote CreateRaftingWindow(...) in order to set AllowsTransparency for the RaftingWindow to true. Then I changed all backgrounds to transparent. Unfortunately, this way I could not make my window fully transparent (ie. desktop visible through the Rafting window)- the window remained black.
So I suspected that something in RaftingWindow blocks full transparency. This was supported by an earlier comment on this forum "You will probably never get full transparency". However, I continued by replacing RaftingWindow with my own RaftingWindow which implements IRaftingWindow.
Now full transparency indeed works, after some fiddling I also managed sizing and the window can also be docked back to the main window.
Still I got a problem: When I try to move my Window, CreateRaftingWindow() is called again, replacing my window. This does not happen with the normal RaftingWindow. So I guess, that I need to register my window with the RaftingHost, so that DockSite knows that a window already exists.
Using Reflector I notice an internal call
RaftingHost.a((DependencyObject) this, (IRaftingWindow) this) in the constructor of RaftingWindow. However, this is internal. Is there any other way that I could tell DockHost/RaftingHost that the RaftingWindow was succesfully created?
Thank you!
Tobias