Intersoft ClientUI Documentation
UXWindow Class
Members  Example  See Also  Send Feedback
Intersoft.Client.UI.Aqua.UXDesktop Namespace : UXWindow Class






Represents window interface that serves as a logical container for hosting user interface elements.

Object Model

UXWindow Class

Syntax

Visual Basic (Declaration) 
<TemplatePartAttribute(Name="Overlay", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="ResizeGrip", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="PrimaryToolBar", Type=System.Windows.Controls.Grid)>
<TemplateVisualStateAttribute(Name="Inactive", GroupName="ActiveStates")>
<TemplatePartAttribute(Name="BarContainers", Type=System.Windows.Controls.Grid)>
<TemplateVisualStateAttribute(GroupName="ActiveStates", Name="Active")>
<TemplateVisualStateAttribute(GroupName="WindowStates", Name="Close")>
<TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)>
<TemplatePartAttribute(Name="ScaleTrans", Type=System.Windows.Media.ScaleTransform)>
<TemplatePartAttribute(Name="ContentPresenter", Type=System.Windows.Controls.ContentControl)>
<TemplatePartAttribute(Name="WindowButtons", Type=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)>
<TemplatePartAttribute(Name="HeaderElement", Type=Intersoft.Client.UI.Controls.StylishLabel)>
<TemplatePartAttribute(Name="HeaderBar", Type=System.Windows.Controls.Border)>
<DescriptionAttribute("Represents window interface that serves as a logical container for hosting user interface elements.")>
<TemplatePartAttribute(Name="InactiveBorder", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="WindowElement", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="ContentElement", Type=System.Windows.Controls.Border)>
<TemplatePartAttribute(Name="ActiveBorder", Type=System.Windows.Controls.Border)>
<StyleTypedPropertyAttribute(Property="WindowButtonStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)>
<TemplatePartAttribute(Name="TitleBar", Type=Intersoft.Client.UI.Controls.DockPanel)>
<TemplateVisualStateAttribute(GroupName="WindowStates", Name="Open")>
Public Class UXWindow 
   Inherits Intersoft.Client.Framework.ISHeaderedContentControl
   Implements IApplicationHostIControlIFramework, ILicensing, IWindow 
Visual Basic (Usage)Copy Code
Dim instance As UXWindow
C# 
[TemplatePartAttribute(Name="Overlay", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ResizeGrip", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="PrimaryToolBar", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(Name="Inactive", GroupName="ActiveStates")]
[TemplatePartAttribute(Name="BarContainers", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(GroupName="ActiveStates", Name="Active")]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Close")]
[TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="ScaleTrans", Type=System.Windows.Media.ScaleTransform)]
[TemplatePartAttribute(Name="ContentPresenter", Type=System.Windows.Controls.ContentControl)]
[TemplatePartAttribute(Name="WindowButtons", Type=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="HeaderElement", Type=Intersoft.Client.UI.Controls.StylishLabel)]
[TemplatePartAttribute(Name="HeaderBar", Type=System.Windows.Controls.Border)]
[DescriptionAttribute("Represents window interface that serves as a logical container for hosting user interface elements.")]
[TemplatePartAttribute(Name="InactiveBorder", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="WindowElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ContentElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ActiveBorder", Type=System.Windows.Controls.Border)]
[StyleTypedPropertyAttribute(Property="WindowButtonStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="TitleBar", Type=Intersoft.Client.UI.Controls.DockPanel)]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Open")]
public class UXWindow : Intersoft.Client.Framework.ISHeaderedContentControl, IApplicationHostIControlIFramework, ILicensing, IWindow  
JScript 
TemplatePartAttribute(Name="Overlay", Type=System.Windows.Controls.Border)
TemplatePartAttribute(Name="ResizeGrip", Type=System.Windows.Controls.Border)
TemplatePartAttribute(Name="PrimaryToolBar", Type=System.Windows.Controls.Grid)
TemplateVisualStateAttribute(Name="Inactive", GroupName="ActiveStates")
TemplatePartAttribute(Name="BarContainers", Type=System.Windows.Controls.Grid)
TemplateVisualStateAttribute(GroupName="ActiveStates", Name="Active")
TemplateVisualStateAttribute(GroupName="WindowStates", Name="Close")
TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)
TemplatePartAttribute(Name="ScaleTrans", Type=System.Windows.Media.ScaleTransform)
TemplatePartAttribute(Name="ContentPresenter", Type=System.Windows.Controls.ContentControl)
TemplatePartAttribute(Name="WindowButtons", Type=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)
TemplatePartAttribute(Name="HeaderElement", Type=Intersoft.Client.UI.Controls.StylishLabel)
TemplatePartAttribute(Name="HeaderBar", Type=System.Windows.Controls.Border)
DescriptionAttribute("Represents window interface that serves as a logical container for hosting user interface elements.")
TemplatePartAttribute(Name="InactiveBorder", Type=System.Windows.Controls.Border)
TemplatePartAttribute(Name="WindowElement", Type=System.Windows.Controls.Border)
TemplatePartAttribute(Name="ContentElement", Type=System.Windows.Controls.Border)
TemplatePartAttribute(Name="ActiveBorder", Type=System.Windows.Controls.Border)
StyleTypedPropertyAttribute(Property="WindowButtonStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)
TemplatePartAttribute(Name="TitleBar", Type=Intersoft.Client.UI.Controls.DockPanel)
TemplateVisualStateAttribute(GroupName="WindowStates", Name="Open")
public class UXWindow extends Intersoft.Client.Framework.ISHeaderedContentControl implements IApplicationHostIControlIFramework, ILicensing, IWindow 
Managed Extensions for C++ 
[TemplatePartAttribute(Name="Overlay", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ResizeGrip", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="PrimaryToolBar", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(Name="Inactive", GroupName="ActiveStates")]
[TemplatePartAttribute(Name="BarContainers", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(GroupName="ActiveStates", Name="Active")]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Close")]
[TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="ScaleTrans", Type=System.Windows.Media.ScaleTransform)]
[TemplatePartAttribute(Name="ContentPresenter", Type=System.Windows.Controls.ContentControl)]
[TemplatePartAttribute(Name="WindowButtons", Type=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="HeaderElement", Type=Intersoft.Client.UI.Controls.StylishLabel)]
[TemplatePartAttribute(Name="HeaderBar", Type=System.Windows.Controls.Border)]
[DescriptionAttribute("Represents window interface that serves as a logical container for hosting user interface elements.")]
[TemplatePartAttribute(Name="InactiveBorder", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="WindowElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ContentElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ActiveBorder", Type=System.Windows.Controls.Border)]
[StyleTypedPropertyAttribute(Property="WindowButtonStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="TitleBar", Type=Intersoft.Client.UI.Controls.DockPanel)]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Open")]
public __gc class UXWindow : public Intersoft.Client.Framework.ISHeaderedContentControl, IApplicationHostIControlIFramework, ILicensing, IWindow  
C++/CLI 
[TemplatePartAttribute(Name="Overlay", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ResizeGrip", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="PrimaryToolBar", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(Name="Inactive", GroupName="ActiveStates")]
[TemplatePartAttribute(Name="BarContainers", Type=System.Windows.Controls.Grid)]
[TemplateVisualStateAttribute(GroupName="ActiveStates", Name="Active")]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Close")]
[TemplatePartAttribute(Name="RootElement", Type=System.Windows.Controls.Grid)]
[TemplatePartAttribute(Name="ScaleTrans", Type=System.Windows.Media.ScaleTransform)]
[TemplatePartAttribute(Name="ContentPresenter", Type=System.Windows.Controls.ContentControl)]
[TemplatePartAttribute(Name="WindowButtons", Type=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="HeaderElement", Type=Intersoft.Client.UI.Controls.StylishLabel)]
[TemplatePartAttribute(Name="HeaderBar", Type=System.Windows.Controls.Border)]
[DescriptionAttribute("Represents window interface that serves as a logical container for hosting user interface elements.")]
[TemplatePartAttribute(Name="InactiveBorder", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="WindowElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ContentElement", Type=System.Windows.Controls.Border)]
[TemplatePartAttribute(Name="ActiveBorder", Type=System.Windows.Controls.Border)]
[StyleTypedPropertyAttribute(Property="WindowButtonStyle", StyleTargetType=Intersoft.Client.UI.Aqua.UXDesktop.WindowButtons)]
[TemplatePartAttribute(Name="TitleBar", Type=Intersoft.Client.UI.Controls.DockPanel)]
[TemplateVisualStateAttribute(GroupName="WindowStates", Name="Open")]
public ref class UXWindow : public Intersoft.Client.Framework.ISHeaderedContentControl, IApplicationHostIControlIFramework, ILicensing, IWindow  

Example

The following example shows the XAML code to implement a simple desktop-style interface using UXDesktop and UXWindow control.
XAMLCopy Code
<Intersoft:UXPage
        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:Intersoft="http://intersoft.clientui.com/schemas"
        mc:Ignorable="d"
        Title="UXDesktop1 Page"
        d:DesignWidth="640" d:DesignHeight="480">

        <Grid x:Name="LayoutRoot">
                <Intersoft:UXDesktop>
                        <Intersoft:UXWindow x:Name="wnd1" Header="UXWindow1 Title">
                            <Grid>
                                <TextBlock Text="Content for UXWindow1"/>
                            </Grid>
                        </Intersoft:UXWindow>
                        <Intersoft:UXWindow x:Name="wnd2" Header="UXWindow2 Title" IsActive="True">
                            <Grid>
                                <TextBlock Text="Content for UXWindow2"/>
                            </Grid>
                        </Intersoft:UXWindow>
                </Intersoft:UXDesktop>
        </Grid>
</Intersoft:UXPage>

Remarks

UXWindow is a full-featured windowing control that provides all the user interface elements required in a window such as title bar, control box, option buttons, chrome border, content area and more. It gives you complete customization over its look and feel, allowing you to create commercial-class user interface applications.  

The following illustration shows the user interface overview of a window control.

As seen in the above illustration, UXWindow does not only provide the user interface and styles, but also implement the behaviors and user experience aspects such as 8-edge resizing mode, active and inactive state, drag and drop, and context menu.

For more information about user experience implementation in windowing and other ClientUI controls, see User Experiences Overview.

To show a window, you set its IsClientVisible property to true. If you use MVVM pattern development, you can bind this property to control the window's visibility in your ViewModel. For more information about MVVM pattern, see MVVM Pattern Overview.

The following example shows how to show a window when the desktop control is loaded.

XAML Copy Code
 <Intersoft:UXPage
        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:Intersoft="http://intersoft.clientui.com/schemas"
        xmlns:local="ClientUIApplication_Docs.Desktop"
        mc:Ignorable="d"
        Title="UXDesktop1 Page"
        d:DesignWidth="640" d:DesignHeight="480">

        <Grid x:Name="LayoutRoot">
                <Intersoft:UXDesktop>
                        <local:HomeWindow WindowName="wndHome" />
                </Intersoft:UXDesktop>
        </Grid>
</Intersoft:UXPage>

To learn more about UXWindow and its features, see UXWindow Overview.

Inheritance Hierarchy

System.Object
   System.Windows.DependencyObject
      System.Windows.UIElement
         System.Windows.FrameworkElement
            System.Windows.Controls.Control
               System.Windows.Controls.ContentControl
                  Intersoft.Client.Framework.ISContentControl
                     Intersoft.Client.Framework.ISHeaderedContentControl
                        Intersoft.Client.UI.Aqua.UXDesktop.UXWindow
                           Intersoft.Client.UI.Aqua.UXDesktop.UXDialogBox
                           Intersoft.Client.UI.Aqua.UXDesktop.UXNavigationWindow
                           Intersoft.Client.UI.Aqua.UXRibbon.UXRibbonWindow

Requirements

Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family

See Also

© 2012 All Rights Reserved.