This is a migrated thread and some comments may be shown as answers.

RadPaneGroup inside DocumentPane Issue

1 Answer 30 Views
Docking
This is a migrated thread and some comments may be shown as answers.
Rousseau
Top achievements
Rank 1
Rousseau asked on 07 Dec 2011, 01:16 AM
Hi,

I am using Silverlight Q2 2011 SP1 trail version for my feasibility study.

I have to complete the following scenario. In ModuleA i am having two more modules(lets say ModuleX & ModuleY) integrated and having in two different RadDocumentPane. Now, this module needs to be added in Shell.xaml. I have added the ModuleA under DocumentHost in shell.xaml.

Please find the attached image and sample project for your reference.

While moving the RadDocumentPane's from DocumentHost to other RadPaneGroups i am not getting issue. But, bring that module back to the Document host is giving following exception. 

Object reference not set to an instance of an object.

   at Telerik.Windows.Controls.ApplicationHelper.TransformToScreenRoot(UIElement target)
   at Telerik.Windows.Controls.RadDocking.GetElementPositionAtScreenRoot(UIElement element)
   at Telerik.Windows.Controls.RadDocking.GetCuePosition(RadPaneGroup targetGroup, DockPosition position, Size draggedElementRelativeSize)
   at Telerik.Windows.Controls.RadDocking.AdjustCueSizeAndLocation(Size draggedElementRelativeSize, Size draggedElementInitialSize)
   at Telerik.Windows.Controls.RadDocking.OnDragContainer(RadSplitContainer container, Point globalMousePosition)
   at Telerik.Windows.Controls.RadDocking.OnToolWindowDrag(ToolWindow window, Point globalMousePosition)
   at Telerik.Windows.Controls.Docking.ToolWindow.OnDragDelta(Point globalMousePosition, Rect initialRect, Rect destinationRect, Boolean isResize)
   at Telerik.Windows.Controls.WindowBase.Telerik.Windows.Controls.InternalWindow.IDragAware.OnDragDelta(Point globalMousePosition, Rect initialRect, Rect destinationRect, Boolean isResize)
   at Telerik.Windows.Controls.InternalWindow.DragBehavior.OnElementMouseMove(Object sender, MouseEventArgs e)
   at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)

But, when i tried to create the ModuleX and ModuleY directly in Shell.xaml it was working. Is this issue because having RadPaneGroup inside RadDocumentPane?

Below is my code snippet for both working & non working scenario's from Shell.xaml

 

 

 

 

<

 

 

UserControl x:Class="TelerikIssue.MainPage"

 

 

 

 

 

 

 

 

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

 

 

 

 

 

 

 

 

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

 

 

 

 

 

 

 

 

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

 

 

 

 

 

 

 

 

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

 

 

 

 

 

 

 

 

mc:Ignorable="d"

 

 

 

 

 

 

 

 

xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"

 

 

 

xmlns:test="clr-namespace:TelerikIssue"

 

 

 

 

 

 

 

 

d:DesignHeight="300" d:DesignWidth="400">

 

 

 

 

 

 

 

 

<Grid x:Name="LayoutRoot" Background="White">

 

 

 

 

 

 

 

 

<telerik:RadDocking x:Name="radDockingControl" Grid.Row="0" BorderThickness="0" Padding="0">

 

 

 

 

 

 

 

 

<telerik:RadSplitContainer InitialPosition="DockedLeft" Orientation="Vertical">

 

 

 

 

 

 

 

 

<telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

<telerik:RadPane Header="Tree" CanUserClose="False" >

 

 

 

 

 

 

 

 

<test:ViewTree></test:ViewTree>

 

 

 

 

 

 

 

 

</telerik:RadPane>

 

 

 

 

 

 

 

 

</telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

<telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

<telerik:RadPane x:Name="documentPane" CanUserClose="False">

 

 

 

 

 

 

 

 

<test:ViewC></test:ViewC>

 

 

 

 

 

 

 

 

</telerik:RadPane>

 

 

 

 

 

 

 

 

</telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

</telerik:RadSplitContainer>

 

 

 

 

 

 

 

 

 

 

 

 

 

<telerik:RadDocking.DocumentHost>

 

 

 

 

 

 

 

 

<!-- Not Working -->

 

 

 

 

<telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

<telerik:RadDocumentPane>

 

 

 

 

 

 

 

 

<test:ModuleManager></test:ModuleManager>

 

 

 

 

 

 

 

 

</telerik:RadDocumentPane>

 

 

 

 

 

 

 

 

</telerik:RadPaneGroup>

 

 

 

 

<!-- Working Solution-->

 

 

 

 

 

 

 

 

<!--<telerik:RadSplitContainer>

 

<telerik:RadPaneGroup x:Name="radPaneGroup" TabStripPlacement="Top">

<telerik:RadDocumentPane Header="ViewA" x:Name="textDocPane" CanUserClose="False">

<test:ViewA></test:ViewA>

</telerik:RadDocumentPane>

<telerik:RadDocumentPane Header="ViewB" x:Name="scanDocPane" CanUserClose="False">

<test:ViewB></test:ViewB>

</telerik:RadDocumentPane>

</telerik:RadPaneGroup>

</telerik:RadSplitContainer>-->

 

 

 

 

 

 

 

</telerik:RadDocking.DocumentHost>

 

 

 

 

 

 

 

 

 

 

 

 

 

</telerik:RadDocking>

 

 

 

 

 

 

 

 

</Grid>

 

</

 

 

UserControl>

 

 

 

 

Below is my ModuleA code where its combining Module X & Module Y.

 

<

 

 

UserControl x:Class="TelerikIssue.ModuleManager"

 

 

 

 

 

 

 

 

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

 

 

 

 

 

 

 

 

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

 

 

 

 

 

 

 

 

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

 

 

 

 

 

 

 

 

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

 

 

 

 

 

 

 

 

xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"

 

 

 

xmlns:test="clr-namespace:TelerikIssue"

 

 

 

 

 

 

 

 

mc:Ignorable="d"

 

 

 

 

 

 

 

 

d:DesignHeight="300" d:DesignWidth="400">

 

 

 

 

 

 

 

 

<Grid>

 

 

 

 

 

 

 

 

<Grid.RowDefinitions>

 

 

 

 

 

 

 

 

<RowDefinition Height="*"/>

 

 

 

 

 

 

 

 

</Grid.RowDefinitions>

 

 

 

 

 

 

 

 

<telerik:RadPaneGroup x:Name="radPaneGroup" TabStripPlacement="Top">

 

 

 

 

 

 

 

 

<telerik:RadDocumentPane Header="ViewA" x:Name="textDocPane" CanUserClose="False">

 

 

 

 

 

 

 

 

<test:ViewA></test:ViewA>

 

 

 

 

 

 

 

 

</telerik:RadDocumentPane>

 

 

 

 

 

 

 

 

<telerik:RadDocumentPane Header="ViewB" x:Name="scanDocPane" CanUserClose="False">

 

 

 

 

 

 

 

 

<test:ViewB></test:ViewB>

 

 

 

 

 

 

 

 

</telerik:RadDocumentPane>

 

 

 

 

 

 

 

 

</telerik:RadPaneGroup>

 

 

 

 

 

 

 

 

</Grid>

 

</

 

 

UserControl>

 

 

 

 


Please let me if this is real issue or anyone is having quick work around for this.

Thanks & Regards,
Rousseau Arulsamy

1 Answer, 1 is accepted

Sort by
0
Miroslav Nedyalkov
Telerik team
answered on 08 Dec 2011, 10:12 AM
Hi Rousseau,

In the code you sent you are placing a RadPaneGroup directly inside the DocumentHost which is not supported - the value of the DocumentHost property is expected to be of type RadSplitContainer and placing something else as its value breaks the Docking control.

Hope this helps.

Regards,
Miroslav Nedyalkov
the Telerik team

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

Tags
Docking
Asked by
Rousseau
Top achievements
Rank 1
Answers by
Miroslav Nedyalkov
Telerik team
Share this question
or