Intersoft ClientUI Documentation
UXDock Class
Members 



Represents a dock navigation control.
Object Model
UXDock ClassUXDockButton ClassISFramework ClassStyleSelector ClassDataTemplateSelector ClassUXStackPanel Class
Syntax
<TemplatePartAttribute(Name="BackgroundImageRightElement", Type=System.Windows.Controls.Image)>
<StyleTypedPropertyAttribute(Property="ItemContainerStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDock.UXDockButton)>
<TemplatePartAttribute(Name="BackgroundImageLeftElement", Type=System.Windows.Controls.Image)>
<TemplatePartAttribute(Name="BackgroundContainerRightElement", Type=System.Windows.Controls.Grid)>
<TemplatePartAttribute(Name="BackgroundElement", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="BackgroundImageCenterElement", Type=System.Windows.Controls.Image)>
<TemplatePartAttribute(Name="StructureElement", Type=System.Windows.Controls.StackPanel)>
<TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)>
<TemplatePartAttribute(Name="LayoutElement", Type=System.Windows.Controls.StackPanel)>
<TemplatePartAttribute(Name="StructureLeft", Type=System.Windows.Controls.StackPanel)>
<TemplatePartAttribute(Name="BackgroundLayoutElement", Type=System.Windows.Controls.StackPanel)>
<TemplatePartAttribute(Name="ItemsPresenter", Type=System.Windows.Controls.ItemsPresenter)>
<TemplatePartAttribute(Name="StructureRight", Type=System.Windows.Controls.StackPanel)>
<TemplatePartAttribute(Name="BackgroundContainerLeftElement", Type=System.Windows.Controls.Grid)>
<TemplatePartAttribute(Name="ContentTransformer", Type=Intersoft.Client.UI.Controls.ContentTransformer)>
<TemplatePartAttribute(Name="BackgroundTemplateElement", Type=System.Windows.Controls.Grid)>
<TemplatePartAttribute(Name="BackgroundContainerElement", Type=System.Windows.Controls.Grid)>
<DescriptionAttribute("Represents a dock navigation control.")>
Public Class UXDock 
   Inherits Intersoft.Client.UI.Controls.Interactivity.ISDragableItemsControl
   Implements Intersoft.Client.Framework.IControlIntersoft.Client.Framework.IFrameworkIntersoft.Client.Framework.IItemsControl, Intersoft.Client.Framework.ILicensing, Intersoft.Client.UI.Controls.Interactivity.IDropable 
Dim instance As UXDock
[TemplatePartAttribute(Name="BackgroundImageRightElement", Type=System.Windows.Controls.Image)]
[StyleTypedPropertyAttribute(Property="ItemContainerStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDock.UXDockButton)]
[TemplatePartAttribute(Name="BackgroundImageLeftElement", Type=System.Windows.Controls.Image)]
[TemplatePartAttribute(Name="BackgroundContainerRightElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="BackgroundElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="BackgroundImageCenterElement", Type=System.Windows.Controls.Image)]
[TemplatePartAttribute(Name="StructureElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="LayoutElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="StructureLeft", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="BackgroundLayoutElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="ItemsPresenter", Type=System.Windows.Controls.ItemsPresenter)]
[TemplatePartAttribute(Name="StructureRight", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="BackgroundContainerLeftElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="ContentTransformer", Type=Intersoft.Client.UI.Controls.ContentTransformer)]
[TemplatePartAttribute(Name="BackgroundTemplateElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="BackgroundContainerElement", Type=System.Windows.Controls.Grid)]
[DescriptionAttribute("Represents a dock navigation control.")]
public class UXDock : Intersoft.Client.UI.Controls.Interactivity.ISDragableItemsControl, Intersoft.Client.Framework.IControlIntersoft.Client.Framework.IFrameworkIntersoft.Client.Framework.IItemsControl, Intersoft.Client.Framework.ILicensing, Intersoft.Client.UI.Controls.Interactivity.IDropable  
[TemplatePartAttribute(Name="BackgroundImageRightElement", Type=System.Windows.Controls.Image)]
[StyleTypedPropertyAttribute(Property="ItemContainerStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDock.UXDockButton)]
[TemplatePartAttribute(Name="BackgroundImageLeftElement", Type=System.Windows.Controls.Image)]
[TemplatePartAttribute(Name="BackgroundContainerRightElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="BackgroundElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="BackgroundImageCenterElement", Type=System.Windows.Controls.Image)]
[TemplatePartAttribute(Name="StructureElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="LayoutElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="StructureLeft", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="BackgroundLayoutElement", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="ItemsPresenter", Type=System.Windows.Controls.ItemsPresenter)]
[TemplatePartAttribute(Name="StructureRight", Type=System.Windows.Controls.StackPanel)]
[TemplatePartAttribute(Name="BackgroundContainerLeftElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="ContentTransformer", Type=Intersoft.Client.UI.Controls.ContentTransformer)]
[TemplatePartAttribute(Name="BackgroundTemplateElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="BackgroundContainerElement", Type=System.Windows.Controls.Grid)]
[DescriptionAttribute("Represents a dock navigation control.")]
public ref class UXDock : public Intersoft.Client.UI.Controls.Interactivity.ISDragableItemsControl, Intersoft.Client.Framework.IControlIntersoft.Client.Framework.IFrameworkIntersoft.Client.Framework.IItemsControl, Intersoft.Client.Framework.ILicensing, Intersoft.Client.UI.Controls.Interactivity.IDropable  
Remarks

UXDock is inherited from ISItemsControl. For more information about selection control see ItemsControl Overview and Content Model Overview.

UXDock has certain layouting settings controlled by internal mechanism, so it is important to understand the layouting concept before trying to modify layouting aspects of UXDock.

Several properties that are locked are:

  • HorizontalAlignment
  • VerticalAlignment
  • Margin
  • Width / Height 

These properties are used in the internal mechanism to control the dock layouting, since the layouting is quite complex we provide a simpler layouting property called DockPosition and DockMargin.

The following is the structure illustration of UXDock.

 

Customizing UXDock Dimension

Depending on the DockPosition you can only control one of the dimension aspects at one time while MagnifiedSize property control the other dimension aspects.

For example:

  • If the DockPosition property is set to Bottom or Top the Width of UXDock is determined by the number of buttons, while the Height is determined by MagnifiedSize property.
  • If the DockPosition property is set to Left or Right the Height of UXDock is determined by the number of buttons, while the Width is determined by MagnifiedSize property.

Customizing Dock Position

UXDock positioning can be controlled using DockPosition property by default the DockPosition is set to Bottom. When you change this property the UXDock will transform all its elements such as reflection, tooltip position, stack button position etc accordingly.

XAML
Copy Code
<Intersoft:UXDock DockPosition="Left">
    <Intersoft:UXDockButton Text="Home" Icon="Home.png"/>
    <Intersoft:UXDockButton Text="Clock" Icon="Clock.png"/>
    <Intersoft:UXDockButton Text="Picture" Icon="Picture.png"/>
    <Intersoft:UXDockButton Text="Mail" Icon="Mail.png"/>
    <Intersoft:UXDockSeparator/>
    <Intersoft:UXDockButton Text="Document" Icon="Document.png" StackMode="GridStyle">
        <Intersoft:UXStackItem Text="Video" Icon="Video.png"/>
        <Intersoft:UXStackItem Text="Photo" Icon="Photo.png"/>
        <Intersoft:UXStackItem Text="Music" Icon="Mp3.png"/>
        <Intersoft:UXStackItem Text="Text" Icon="Text.png"/>
    </Intersoft:UXDockButton>
</Intersoft:UXDock>

 

Customizing Dock Margin

DockMargin provides space between UXDock and the container. In a sense it can also be uses to determine the reflection area.

XAML
Copy Code
<Intersoft:UXDock DockMargin="16,16,16,60">
    <Intersoft:UXDockButton Text="Home" Icon="Home.png"/>
    <Intersoft:UXDockButton Text="Clock" Icon="Clock.png"/>
    <Intersoft:UXDockButton Text="Picture" Icon="Picture.png"/>
    <Intersoft:UXDockButton Text="Mail" Icon="Mail.png"/>
    <Intersoft:UXDockSeparator/>
    <Intersoft:UXDockButton Text="Document" Icon="Document.png" StackMode="GridStyle">
        <Intersoft:UXStackItem Text="Video" Icon="Video.png"/>
        <Intersoft:UXStackItem Text="Photo" Icon="Photo.png"/>
        <Intersoft:UXStackItem Text="Music" Icon="Mp3.png"/>
        <Intersoft:UXStackItem Text="Text" Icon="Text.png"/>
    </Intersoft:UXDockButton>
</Intersoft:UXDock>

 

Inheritance Hierarchy

System.Object
   System.Windows.DependencyObject
      System.Windows.UIElement
         System.Windows.FrameworkElement
            System.Windows.Controls.Control
               System.Windows.Controls.ItemsControl
                  Intersoft.Client.Framework.ISItemsControl
                     Intersoft.Client.UI.Controls.Interactivity.ISDragableItemsControl
                        Intersoft.Client.UI.Aqua.UXDock.UXDock
                           Intersoft.Client.UI.Aqua.UXDock.UXDesktopDock

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

UXDock Members
Intersoft.Client.UI.Aqua.UXDock Namespace

Concepts

UXDock
MVVM Pattern Overview

Send Feedback