Xceed Toolkit Plus for WPF v4.6 Documentation
WindowContainer Class
Members  Example 


Xceed.Wpf.Toolkit Assembly > Xceed.Wpf.Toolkit.Primitives Namespace : WindowContainer Class
Represents the container class for WindowControl-derived classes.
Syntax
'Declaration
 
<LocalizabilityAttribute(LocalizationCategory.Ignore)>
<ContentPropertyAttribute("Children")>
<StyleTypedPropertyAttribute(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)>
<XmlLangPropertyAttribute("Language")>
<UsableDuringInitializationAttribute(True)>
<RuntimeNamePropertyAttribute("Name")>
<UidPropertyAttribute("Uid")>
<TypeDescriptionProviderAttribute(MS.Internal.ComponentModel.DependencyObjectProvider)>
<NameScopePropertyAttribute("NameScope", System.Windows.NameScope)>
Public Class WindowContainer 
   Inherits System.Windows.Controls.Canvas
'Usage
 
Dim instance As WindowContainer
[Localizability(LocalizationCategory.Ignore)]
[ContentProperty("Children")]
[StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)]
[XmlLangProperty("Language")]
[UsableDuringInitialization(true)]
[RuntimeNameProperty("Name")]
[UidProperty("Uid")]
[TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)]
[NameScopeProperty("NameScope", System.Windows.NameScope)]
public class WindowContainer : System.Windows.Controls.Canvas 
Remarks
Starting with version 2.0, ChildWindow and MessageBox are derived from WindowControl and no longer manage their parent’s background or the positioning themselves based on their parent’s size.

WindowContainer should now be used to contain these controls. It provides an area where multiple WindowControl-derived controls (ChildWindow or MessageBox controls) can be displayed. This is particularly interesting in an XBAP application where windows can't be popped up. In this case the WindowContainer can be sized to fit the application and the window-like control can be moved around in the WindowContainer.

The WindowContainer derives from Canvas and positions its children according to its size. Many actions performed on its children are managed by the WindowContainer (movement and positioning, resizing, visibility, modal, and mouse click). This will restrict the WindowControl movements and resizing to the WindowContainer’s size.

When no Width and Height are specified in the WindowContainer, its DesiredSize will be the size of its biggest child.

When a child of the WindowContainer is modal (modal ChildWindow or MessageBox) and visible, the background of the WindowContainer can be colored via the ModalBackgroundBrush property.

It can be useful to set the WindowContainer over an application (with the same width and height) and to use a semi-transparent ModalBackgroundBrush property. When a modal window is shown, the application controls will still be visible through the WindowContainer.

In the WindowContainer, the modal windows will always be in front, preventing the use of other windows from the WindowContainer or controls from the application.

Example
The following example shows how to create a ChildWindow and a MessageBox within a WindowContainer.
<xctk:WindowContainer>
  <xctk:ChildWindow WindowBackground="Blue"
                    Left="75"
                    Top="50"
                    Width="275"
                    Height="125"
                    WindowState="Open">
    <TextBlock Text="This is a Child Window" Padding="10"/>
  </xctk:ChildWindow>

  <xctk:ChildWindow WindowBackground="Green"
                    Left="175"
                    Top="125"
                    Width="275"
                    Height="125"
                    WindowState="Open">
    <TextBlock Text="This is another Child Window" Padding="10"/>
  </xctk:ChildWindow>

  <xctk:MessageBox Caption="MessageBox"
                   Text="This is a MessageBox"/>
</xctk:WindowContainer>
Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Media.Visual
            System.Windows.UIElement
               System.Windows.FrameworkElement
                  System.Windows.Controls.Panel
                     System.Windows.Controls.Canvas
                        Xceed.Wpf.Toolkit.Primitives.WindowContainer

Requirements

Target Platforms: Windows 11, Windows 10, 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

WindowContainer Members
Xceed.Wpf.Toolkit.Primitives Namespace