Divelements SandDock for WPF 1.4.5 » Developer.Team - Developers Paradise!

Divelements SandDock for WPF 1.4.5

Divelements SandDock for WPF 1.4.5
Divelements SandDock for WPF 1.4.5 | 3 Mb


SandDock is our award-winning window management software that enables dockable window and tabbed document functionality in applications that use it. The version for Windows Presentation Foundation (WPF) is able to leverage new technology to provide more visual features than its Windows Forms counterpart, such as smoothly animated transitions and 3D window switching - like the Flip-3D feature from Microsoft Windows Vista. With Visual Studio 2008 comes a designer for WPF, and SandDock takes full advantage of this to provide unparalleled designer support. At design-time you can create windows and interactively dock and tab them around your layout just like you can at runtime, and watch as your XAML code is updated automatically.

Broadly designed to mimic the user interface capabilities of Visual Studio 2005 and 2008, by plugging SandDock into your application you can forget about the intricacies of window layout - instead, provide your windows to SandDock and let it present them with all the tools your users need for customization of the working area. Tool windows become dockable, sticking to the sides of your window in hierarchies chosen visually by the user, or they can be floated above your main window. Documents are presented in a tabbed fashion, with split views for easy comparison between content, or in a traditional multiple document interface (MDI) layout.

An advanced window layout engine would not be complete without a persistance mechanism, and SandDock makes this easy. Storage of window layout from one application session to the next is exposed by simple APIs that can also be used to split your application into multiple view states. Hooks are available for more control over the window docking process, and rules can be set by the developer to determine what the user can do with any given window. The API is extremely easy to use.

The extensibility support built into the library ensures that certain behaviours, such as the interface for switching between active windows using the keyboard, are fully configurable by the developer. In fact, by using the extensive theming and styling support built into WPF, the complete look and feel of SandDock components can be changed. This extensibility allows you to tailor the SandDock tools to your specific needs and in demonstrated in the included application.

Features in Depth

Designer Integration

Visual Studio 2008 shipped with a designer environment for WPF, codenamed "Cider". Shortly after its release we announced SandDock for WPF v1.2, containing full support for this design environment. Developers can now manipulate their dockable windows and tabbed documents at design time just like they can at runtime, with drag and drop. This greatly enhances productivity using the library and is a useful learning tool as you can see the impact of various layout changes on your XAML in real time.

Dockable Windows

Windows are dockable within the main container. The user can drag them to any side of the container to create complex groupings of windows, arranged in the most logical fashion for the task at hand. Hierarchies of arbitrary complexity can be created, and once windows are docked together they can be resized independently with the splitters between them. As a developer you can control which sides of the container the window can be docked to - or whether the window can be docked at all.

When multiple windows are docked into the same group, tabs appear for navigation between them. Dragging by the titlebar moves the whole group, dragging by the tab moves the individual window. Standard keyboard shortcuts work to allow keyboard navigation between tabs.

Floating Windows

When a window is dragged from its location to a space on the desktop not recognised as another dock location, the window can be floated. Intuitive docking hints guide the user while a docking operation is in progress, making it easy to see where their window will end up. Multiple windows can be housed together in the same floating group. The developer has full control over whether a window is allowed to be floated.

Floatable windows are a great way to allow your users to take advantage of multiple monitors, by moving selected tool windows to a secondary monitor.

Collapsed Groups

When a window is docked inside a container, it can be "unpinned", where it collapses down to a small tab representation of itself at the side of your container. The user can still access the window by clicking its tab or using a keyboard shortcut, but the window is not always present on screen. When accessed, the window pops up using smooth animation and is present until the user is done with it, whereupon it collapses down again.

The transition effects when a collapsed window pops up and subsequently disappears can be set by the developer.

Tabbed Documents

If your application is document-oriented you will likely want to take advantage of the tabbed document interface (TDI) support in SandDock. As with any SandDock windows, you can simply let the software take care of all layout, leaving your application to implement its core logic. Tabbed document navigation is more than just tabs - the layout engine allows users to split documents into multiple panes with proportional resizing for easy comparisons between documents.

Of course, if you wish to allow it, your documents can also be "torn off" to become floating windows and docked to the sides of your container. Such potential functionality is shared between all SandDock windows.

Multiple Document Interface

Windows Presentation Foundation does not provide an MDI implementation in the platform. SandDock addresses this with its own MDI implementation, virtually identical in behaviour to traditional Win32 MDI with some changes and advantages brought by the capabilities of the WPF platform. You can even allow your users to switch between MDI and TDI on the fly if you wish.

Layout Serialization

A complete SandDock layout can be a complex thing. A combination of tool windows, some docked, some floating, some collapsed, and tabbed documents, all potentially arranged into hierarchies. This is great for the user, but they will expect their layout to be persisted from one application session to the next. This is very easy to achieve. We provide a method that serializes the entire layout as a string containing XML, that can be persisted to the storage medium of your choice and restored upon the next application load.

Window Switching

Switching between windows using the keyboard is something users do constantly, and only recently has the user experience for this task started improving. We offer the standard switching behaviour from Visual Studio 2005, where all tool windows and documents are listed for easy Ctrl-Tab selection and activation. We have also been able to leverage the power of WPF to provide a 3D document switching experience very similar to the Flip-3D feature seen in Microsoft Windows Vista. We call this Tab-3D, and it works on any version of Windows supported by WPF.

NEW: The size of a SplitContainerSplitter can now be changed.
NEW: Designer support for Visual Studio 2010 added.
REMOVED: Designer support for Visual Studio 2008 removed.
FIX: An exception could be thrown if the size available to a DockSite was less than its internal Padding.
FIX: A window could remain in memory when closed, even when its CloseMethod was set to Detach.
FIX: When re-docking a window by double-clicking in its titlebar, its contents could fail to become focused afterwards.
FIX: When serializing and immediately deserializing a layout with many unpinned windows, some windows could become inaccessible once subsequently pinned


[/b]

[b] Only for V.I.P
Warning! You are not allowed to view this text.