Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Silverlight > Docking > RadSplitContainer and Canvas.ZIndex

Not answered RadSplitContainer and Canvas.ZIndex

Feed from this thread
  • Michael avatar

    Posted on Jul 27, 2011 (permalink)

    We have a splash screen that needs to briefly cover the entire RadDocking area.

    Any RadSplitContainer that is floating wants to appear over the splash screen canvas.  The layout looks something like this:

    <Grid>
      <telerik:RadDocking Canvas.ZIndex="1">
        <telerik:RadSplitContainer InitialPosition="FloatingOnly" Margin="0" Padding="0" Canvas.ZIndex="1">
          <telerik:RadPaneGroup >
            <telerik:RadPane CanFloat="True">
              <!-- content-->
            </telerik:RadPane>
          </telerik:RadPaneGroup>
        </telerik:RadSplitContainer>      
      </telerik:RadDocking>
      <comp:Splash Margin="0,0,0,0" Canvas.ZIndex="99999" />
    </Grid>

    We're using version 2011.2.712.1040

    Changing the ZIndex doesn't seem to help.  What's the workaround?

    Reply

  • Pana Pana admin's avatar

    Posted on Aug 3, 2011 (permalink)

    Hello Michael,

    Open the overlay in a Popup after the RadDocking opens its popup containing the ToolWindows. XAML:

    <UserControl x:Class="RadDockingOverlay.MainPage"
            mc:Ignorable="d"
            d:DesignHeight="300" d:DesignWidth="400" Loaded="UserControl_Loaded">
      
        <Grid>
            <telerik:RadDocking Canvas.ZIndex="1">
                <telerik:RadSplitContainer InitialPosition="FloatingOnly" Margin="0" Padding="0" Canvas.ZIndex="1">
                    <telerik:RadPaneGroup >
                        <telerik:RadPane CanFloat="True">
                            <!-- content-->
                        </telerik:RadPane>
                    </telerik:RadPaneGroup>
                </telerik:RadSplitContainer>
            </telerik:RadDocking>
            <Popup x:Name="popup" Width="2000" Height="2000">
                <Rectangle Width="2000" Height="2000" Fill="#66FF0000" />
            </Popup>
        </Grid>
      
    </UserControl>

    And code behind:

    using System.Windows;
    using System.Windows.Controls;
      
    namespace RadDockingOverlay
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }
      
            private void UserControl_Loaded(object sender, RoutedEventArgs e)
            {
                this.Dispatcher.BeginInvoke(() =>
                    {
                        this.popup.IsOpen = true;
                    });
            }
        }
    }


    Kind regards,
    Pana
    the Telerik team
    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>

    Reply

  • Michael avatar

    Posted on Aug 5, 2011 (permalink)

    Thank you!

    I had a struggle getting this to work.  In our case, the floating tool windows insist on being above all other things in the application.  I had to juggle how groups and windows are added to mitigate the problem.

    Now - I'm also having an issue with RadBusyIndicator being below the floating windows.   Again, the Zindex has no effect....

    Is there a control or setting in the visual hierarchy I'm missing?

    Another frustrating thing is that I can't bring a window to the front when I want to (my other thread).

    In short, it seems like I cannot control the display order of floating windows at all.... 

    Reply

  • Miroslav Nedyalkov Miroslav Nedyalkov admin's avatar

    Posted on Aug 10, 2011 (permalink)

    Hi Michael,

     The ZOrder property doesn't help, because its purpose is to determine which item should be rendered first when all the items share the same parent. This is not the case with the ToolWindows - after 2011 Q2 every ToolWindow has its own Popup which ZOrder is determined by the time it is opened. When a ToolWindow is clicked by the user it is brought to the front, which reopens its popup and it is displayed over all currently opened popups.

    The RadBusyIndicator control on the other hand, doesn't use a Popup to display the busy indicator so it is expected its busy indicator to be displayed below the ToolWindows.

    Hope this information is helpful.

    Best wishes,
    Miroslav Nedyalkov
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>

    Reply

  • Michael avatar

    Posted on Aug 10, 2011 (permalink)

    Thanks Miroslav - This explains much.

    The current ToolWindow implementation seems to be very hard to manage.   Just in terms of the RadBusyIndicator, I've tried several scenarios (using popups, wrapping RadDocking, etc) and the floating toolwindows insist on floating above it.

    I know a modal status dialog for the whole app isn't the best design choice, but it's required at the moment...

    In general, what's a method for manipulating the zorder of the floating toolwindows?

    Thanks,

    Mike

    Reply

  • Miroslav Nedyalkov Miroslav Nedyalkov admin's avatar

    Posted on Aug 11, 2011 (permalink)

    Hello Michael,

     I understand that when we use popups this makes it harder for you to put a busy indicator over all the windows, but we wanted the ToolWindows to act as real windows. You could either use a dialog window as you suggested or change the ControlTemplate of the BusyIndocator and place a popup in it.

    If you have further questions don't hesitate to ask.

    Best wishes,
    Miroslav Nedyalkov
    the Telerik team

    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>

    Reply

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / Silverlight > Docking > RadSplitContainer and Canvas.ZIndex
Related resources for "RadSplitContainer and Canvas.ZIndex"

Silverlight Docking Features  |  Documentation  |  Demos  |  Telerik TV  |  Self-Paced Trainer  ]