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

Portal Style

4 Answers 106 Views
Docking
This is a migrated thread and some comments may be shown as answers.
Matt
Top achievements
Rank 1
Matt asked on 26 Apr 2010, 05:09 PM
I need to create a portal style WPF application much in the style of that shown in your My Portal demo at http://mono.telerik.com/Dock/Examples/MyPortal/DefaultCS.aspx

However, this control appears to be for ASP.NET whereas I need to put this together in a WPF windows application. So, I have been looking into the RadDocking control but this appears to be more along the lines of Visual Studio type docking. I simply want to have a couple of columns where I can add, remove and arrange widgets. Is this possible using the RadDocking control without complicating things with the extra functionality? If so, do you have a sample?

Thanks

4 Answers, 1 is accepted

Sort by
0
Konstantina
Telerik team
answered on 28 Apr 2010, 04:12 PM
Hello Matt,

Thank you for contacting us.

You are right, the RadDocking control for WPF has the lines of the Visual Studio docking. If you want to arrange the elements vertically you can try our DragAndDrop control. You can see an example here.

If that doesn't fit your requirements please provide us with more details what exactly you want to achieve. In that way we will be able to assist you in the best manner.

Greetings,
Konstantina
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Matt
Top achievements
Rank 1
answered on 30 Apr 2010, 03:51 PM
Thanks for the reply. As I said in the initial post, what I am trying to achieve is create a WPF dashboard in a portal like manner. So, it would have a number of "widgets" (essentially user controls) that can be added and removed to the dashboard at run time. The list of these widgets will be presented in some form of dialog populated using MEF.

Where the docking control isn't perfect for my scenario is it doesn't appear to simply let me define a couple of panels on the page where I can drag and drop these widgets into. I am kind of working around this at the moment with a layout like the following:

<telerikDocking:RadDocking x:Name="dashboardDock" Grid.Row="2">
            <telerikDocking:RadSplitContainer Name="leftContainer" Orientation="Vertical">
            </telerikDocking:RadSplitContainer>
            <telerikDocking:RadDocking.DocumentHost>
                <telerikDocking:RadSplitContainer Name="rightContainer" Orientation="Vertical">
                    <telerikDocking:RadPaneGroup>
                        <telerikDocking:RadPane telerikDocking:RadDocking.SerializationTag="rightContainer1">
                            <TextBlock Text="pane 1"/>
                        </telerikDocking:RadPane>
                    </telerikDocking:RadPaneGroup>
                    <telerikDocking:RadPaneGroup>
                        <telerikDocking:RadPane telerikDocking:RadDocking.SerializationTag="rightContainer2">
                            <TextBlock Text="pane 2"/>
                        </telerikDocking:RadPane>
                    </telerikDocking:RadPaneGroup>
                </telerikDocking:RadSplitContainer>
            </telerikDocking:RadDocking.DocumentHost>
        </telerikDocking:RadDocking>

I have found I needed to add a document host in order to stretch or fill up the screen in the way I wanted, this panel type also appears to be slightly different and these groups, plus I am having to create a pane group containing a pane and then the user control for each widget I want. The latter isn't really an issue but seems illogical.

So what I am currently doing is during the construction of the window it composes the widgets (which have been imported using ImportMany in MEF) by wrapping each widget in a pane, which is wrapped in a group and then these are added to the split container. A bit like the following:

foreach (var widget in this.Widgets)
{
   var leftPaneGroup = new RadPaneGroup();
   var leftPane = new RadPane { Content = widget, Header = widget.WidgetName };
   leftPane.SetValue(RadDocking.SerializationTagProperty, Guid.NewGuid().ToString());
   leftPaneGroup.Items.Add(leftPane);
   this.leftContainer.Items.Add(leftPaneGroup);
}

I am not sure whether that is really relevant but thought I would explain what I am doing.

Thanks
0
Miroslav Nedyalkov
Telerik team
answered on 05 May 2010, 12:34 PM
Hello Matt,

 Thank you for your explanation! You are right that the Docking control might not be the perfect control for this scenario. You could either try to customize it or use the TileView control (as I suggested into the other thread - http://www.telerik.com/community/forums/wpf/docking/vertical-stretch.aspx).

Regards,
Miroslav Nedyalkov
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Matt
Top achievements
Rank 1
answered on 17 May 2010, 03:10 PM
Thanks for the suggestions. I am not sure where to start customising the docking control and the TileView control doesn't look to give me what I want - it doesn't have a remove or configure box plus I would also need to save the layout, which is where I thought the docking control would help best.

I have been looking around on the internet too but haven't come across anything either. The blacklight drag drop panel is the closest thing so far.


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