Articles in this section
Category / Section

How to restrict the resizing of the float window width in WPF DockingManager?

1 min read

In WPF DockingManager, you can restrict the resizing of the width of the float window by using the CanResizeWidthInFloatState property. This is a boolean property that restricts the resizing of the width of float window for the corresponding floating child depending upon the values. When the CanResizeWidthInFloatState property is set as True, the width of the float window can be resized and when the CanResizeWidthInFloatState Property is False, the width of the float window unable to resize. Refer to the following code examples.

XAML

//This code shows how the CanResizeWidthInFloatState property is set as true for the corresponding floating child in the DockingManager
<Window x:Class="DockingManager_floatwindowsample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="Grid1">
       <syncfusion:DockingManager x:Name="Dock1"  UseDocumentContainer="True"  >
         <ContentControl syncfusion:DockingManager.Header="Dock1"
                         syncfusion:DockingManager.CanResizeWidthInFloatState="True"
                         syncfusion:DockingManager.State="Float">               
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock2"
                          syncfusion:DockingManager.State="Dock">
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock3"
                          syncfusion:DockingManager.State="Dock">
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock4"
                          syncfusion:DockingManager.State="Document">
       </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock5"
                          syncfusion:DockingManager.State="Document"
         </ContentControl>
       </syncfusion:DockingManager>
    </Grid>
</Window>

 

 

C#

//This code shows how the CanResizeWidthInFloatState property is set as true for the corresponding floating child in the DockingManager
using Syncfusion.Windows.Tools.Controls;
namespace DockingManager_floatwindowsample
{
     /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DockingManager Docking = new DockingManager();
            Docking.UseDocumentContainer = true;
            ContentControl content1 = new ContentControl();
            DockingManager.SetHeader(content1, "Dock1");
            DockingManager.SetState(content1, DockState.Float);
            DockingManager.SetCanResizeWidthInFloatState(content1, true);
            ContentControl content2 = new ContentControl();
            DockingManager.SetHeader(content2, "Dock2");
            DockingManager.SetState(content2, DockState.Dock);
            ContentControl content3 = new ContentControl();
            DockingManager.SetHeader(content3, "Dock3");
            DockingManager.SetState(content3, DockState.Dock);
            ContentControl content4 = new ContentControl();
            DockingManager.SetHeader(content4, "Dock4");
            DockingManager.SetState(content4, DockState.Document);     
            Docking.Children.Add(content1);
            Docking.Children.Add(content2);
            Docking.Children.Add(content3);
            Docking.Children.Add(content4);
            Grid1.Children.Add(Docking);
            }}

 

Output:

The following output displays how the width of the float window is resized to some extent:

 

 

              WPF DockingManager Resized window

 

 

 


XAML

//This code shows how the CanResizeWidthInFloatState property is set as false for the corresponding floating child in the DockingManager
<Window x:Class="DockingManager_floatwindowsample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="Grid1">
       <syncfusion:DockingManager x:Name="Dock1"        UseDocumentContainer="True"  >
         <ContentControl syncfusion:DockingManager.Header="Dock1"
                         syncfusion:DockingManager.CanResizeWidthInFloatState="False"
                         syncfusion:DockingManager.State="Float">                   
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock2"
                          syncfusion:DockingManager.State="Dock">
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock3"
                          syncfusion:DockingManager.State="Dock">
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock4"
                          syncfusion:DockingManager.State="Document">
         </ContentControl>
         <ContentControl syncfusion:DockingManager.Header="Dock5"
                          syncfusion:DockingManager.State="Document">
         </ContentControl>
       </syncfusion:DockingManager>
    </Grid>
</Window>

 

C#

//This code shows how the CanResizeWidthInFloatState property is set as true for the corresponding floating child in the DockingManager
using Syncfusion.Windows.Tools.Controls;
namespace DockingManager_floatwindowsample
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DockingManager Docking = new DockingManager();
            Docking.UseDocumentContainer = true;
            ContentControl content1 = new ContentControl();
            DockingManager.SetHeader(content1, "Dock1");
            DockingManager.SetState(content1, DockState.Float);
            DockingManager.SetCanResizeWidthInFloatState(content1, false);
            ContentControl content2 = new ContentControl();
            DockingManager.SetHeader(content2, "Dock2");
            DockingManager.SetState(content2, DockState.Dock);
            ContentControl content3 = new ContentControl();
            DockingManager.SetHeader(content3, "Dock3");
            DockingManager.SetState(content3, DockState.Dock);
            ContentControl content4 = new ContentControl();
            DockingManager.SetHeader(content4, "Dock4");
            DockingManager.SetState(content4, DockState.Document);
            Docking.Children.Add(content1);
            Docking.Children.Add(content2);
            Docking.Children.Add(content3);
            Docking.Children.Add(content4);
            Grid1.Children.Add(Docking);
}}}

 

Output:

The following output displays how the width of the float window remains the same:

 

          

              

           WPF DockingManager Output

 

 

 




Conclusion

I hope you enjoyed learning about how to restrict the resizing of the float window width in WPF DockingManager.

You can refer to our  WPF DockingManager feature tour page to know about its other groundbreaking feature representations. You can also explore our WPF DockingManage documentation to understand how to create and manipulate data.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.

If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!


Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied