[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Expand]Controls and Libraries
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.Charts.Designer
  [Expand]DevExpress.Data
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.UI.Interactivity
  [Expand]DevExpress.Mvvm.UI.ModuleInjection
  [Expand]DevExpress.Xpf.Accordion
  [Expand]DevExpress.Xpf.Bars
  [Expand]DevExpress.Xpf.Carousel
  [Expand]DevExpress.Xpf.Charts
  [Expand]DevExpress.Xpf.Charts.Localization
  [Expand]DevExpress.Xpf.Charts.RangeControlClient
  [Expand]DevExpress.Xpf.ChunkList
  [Expand]DevExpress.Xpf.Controls
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Core.ConditionalFormatting
  [Expand]DevExpress.Xpf.Core.DataSources
  [Expand]DevExpress.Xpf.Core.FilteringUI
  [Expand]DevExpress.Xpf.Core.Native
  [Expand]DevExpress.Xpf.Core.ServerMode
  [Expand]DevExpress.Xpf.Data
  [Expand]DevExpress.Xpf.DataAccess
  [Expand]DevExpress.Xpf.DataAccess.DataSourceWizard
  [Expand]DevExpress.Xpf.Diagram
  [Expand]DevExpress.Xpf.Dialogs
  [Expand]DevExpress.Xpf.Docking
  [Expand]DevExpress.Xpf.Docking.Base
  [Expand]DevExpress.Xpf.DocumentViewer
  [Expand]DevExpress.Xpf.DXBinding
  [Expand]DevExpress.Xpf.Editors
  [Expand]DevExpress.Xpf.Editors.DataPager
  [Expand]DevExpress.Xpf.Editors.DateNavigator
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor
  [Expand]DevExpress.Xpf.Editors.ExpressionEditor.Native
  [Expand]DevExpress.Xpf.Editors.Filtering
  [Expand]DevExpress.Xpf.Editors.Flyout
  [Expand]DevExpress.Xpf.Editors.Flyout.Native
  [Expand]DevExpress.Xpf.Editors.Helpers
  [Expand]DevExpress.Xpf.Editors.Native
  [Expand]DevExpress.Xpf.Editors.Popups
  [Expand]DevExpress.Xpf.Editors.RangeControl
  [Expand]DevExpress.Xpf.Editors.Settings
  [Expand]DevExpress.Xpf.Editors.Validation
  [Expand]DevExpress.Xpf.ExpressionEditor
  [Expand]DevExpress.Xpf.Gantt
  [Expand]DevExpress.Xpf.Gauges
  [Expand]DevExpress.Xpf.Gauges.Localization
  [Expand]DevExpress.Xpf.Grid
  [Expand]DevExpress.Xpf.Grid.ConditionalFormatting
  [Expand]DevExpress.Xpf.Grid.LookUp
  [Expand]DevExpress.Xpf.Grid.TreeList
  [Expand]DevExpress.Xpf.Layout.Core
  [Expand]DevExpress.Xpf.LayoutControl
  [Expand]DevExpress.Xpf.Map
  [Expand]DevExpress.Xpf.NavBar
  [Expand]DevExpress.Xpf.Navigation
  [Expand]DevExpress.Xpf.PdfViewer
  [Expand]DevExpress.Xpf.PivotGrid
  [Expand]DevExpress.Xpf.PivotGrid.Printing
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpf.Printing.Parameters
  [Expand]DevExpress.Xpf.Printing.Parameters.Models
  [Expand]DevExpress.Xpf.Printing.PreviewControl
  [Expand]DevExpress.Xpf.Printing.PreviewControl.Bars
  [Expand]DevExpress.Xpf.Prism
  [Expand]DevExpress.Xpf.PropertyGrid
  [Expand]DevExpress.Xpf.Reports.UserDesigner
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Extensions
  [Expand]DevExpress.Xpf.Reports.UserDesigner.Localization
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard
  [Expand]DevExpress.Xpf.Reports.UserDesigner.ReportWizard.Pages
  [Expand]DevExpress.Xpf.Ribbon
  [Expand]DevExpress.Xpf.RichEdit
  [Expand]DevExpress.Xpf.RichEdit.Menu
  [Expand]DevExpress.Xpf.Scheduler
  [Expand]DevExpress.Xpf.Scheduler.Drawing
  [Expand]DevExpress.Xpf.Scheduler.Menu
  [Expand]DevExpress.Xpf.Scheduler.Reporting
  [Expand]DevExpress.Xpf.Scheduler.UI
  [Expand]DevExpress.Xpf.Scheduling
  [Expand]DevExpress.Xpf.Scheduling.Common
  [Expand]DevExpress.Xpf.Scheduling.Editors
  [Expand]DevExpress.Xpf.Scheduling.iCalendar
  [Expand]DevExpress.Xpf.Scheduling.Reporting
  [Expand]DevExpress.Xpf.Scheduling.Visual
  [Expand]DevExpress.Xpf.Scheduling.VisualData
  [Expand]DevExpress.Xpf.SpellChecker
  [Expand]DevExpress.Xpf.Spreadsheet
  [Expand]DevExpress.Xpf.Spreadsheet.Menu
  [Collapse]DevExpress.Xpf.TreeMap
   [Expand]BlueGreenPalette Class
   [Expand]BlueIIPalette Class
   [Expand]BluePalette Class
   [Expand]BlueWarmPalette Class
   [Expand]ChameleonPalette Class
   [Expand]ColorCollection Class
   [Expand]CustomPalette Class
   [Expand]DXTreeMapPalette Class
   [Expand]GreenPalette Class
   [Expand]GreenYellowPalette Class
   [Expand]GroupDefinitionCollection Class
   [Expand]HierarchicalTreeMapItemControl Class
   [Expand]InAFogPalette Class
   [Expand]ITreeMapLayoutItem Interface
    LayoutDirection Enumeration
   [Expand]MarqueePalette Class
   [Expand]NatureColorsPalette Class
   [Expand]NorthernLightsPalette Class
   [Expand]Office2013Palette Class
   [Expand]Office2016Palette Class
   [Expand]OfficePalette Class
   [Expand]OrangePalette Class
   [Expand]OrangeRedPalette Class
   [Expand]PaletteBase Class
   [Expand]PastelKitPalette Class
   [Expand]PredefinedPalette Class
   [Expand]RedOrangePalette Class
   [Expand]RedPalette Class
   [Expand]RedVioletPalette Class
    SelectionMode Enumeration
   [Expand]SliceAndDiceLayoutAlgorithm Class
    SliceAndDiceLayoutMode Enumeration
   [Expand]SlipstreamPalette Class
   [Collapse]SquarifiedLayoutAlgorithm Class
     SquarifiedLayoutAlgorithm Members
     SquarifiedLayoutAlgorithm Constructor
    [Expand]SquarifiedLayoutAlgorithm Methods
   [Expand]StripedLayoutAlgorithm Class
   [Expand]TerracottaPiePalette Class
   [Expand]TheTreesPalette Class
   [Expand]ToolTipInfo Class
   [Expand]ToolTipMousePosition Class
    ToolTipOpenMode Enumeration
   [Expand]ToolTipOptions Class
   [Expand]ToolTipPosition Class
   [Expand]ToolTipRelativePosition Class
   [Expand]TreeMapColorizerBase Class
   [Expand]TreeMapControl Class
   [Expand]TreeMapDataAdapterBase Class
   [Expand]TreeMapDependencyObject Class
   [Expand]TreeMapFlatDataAdapter Class
   [Expand]TreeMapGradientColorizer Class
   [Expand]TreeMapGroupDefinition Class
   [Expand]TreeMapGroupGradientColorizer Class
   [Expand]TreeMapHierarchicalDataAdapter Class
   [Expand]TreeMapHitInfo Class
   [Expand]TreeMapItem Class
   [Expand]TreeMapItemCollection Class
   [Expand]TreeMapItemGroupInfo Structure
   [Expand]TreeMapItemStorage Class
   [Expand]TreeMapLayoutAlgorithm Class
   [Expand]TreeMapLayoutAlgorithmBase Class
   [Expand]TreeMapPaletteColorizer Class
   [Expand]TreeMapPaletteColorizerBase Class
   [Expand]TreeMapRangeColorizer Class
   [Expand]TreeMapSelectionChangedEventArgs Class
    TreeMapSelectionChangedEventHandler Delegate
   [Expand]TreeMapStyle Class
   [Expand]VioletIIPalette Class
   [Expand]VioletPalette Class
   [Expand]YellowOrangePalette Class
   [Expand]YellowPalette Class
  [Expand]DevExpress.Xpf.Utils.Themes
  [Expand]DevExpress.Xpf.WindowsUI
  [Expand]DevExpress.Xpf.WindowsUI.Internal
  [Expand]DevExpress.Xpf.WindowsUI.Navigation
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Printing
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

SquarifiedLayoutAlgorithm Class

A class representing the Squarified layout algorithm.

Namespace:DevExpress.Xpf.TreeMap
Assembly:DevExpress.Xpf.TreeMap.v19.1.dll

Expanded Syntax

Expanded Remarks

The idea of the algorithm is to layout the rectangles along the required direction in the available display area as long as the highest width/height ratio of any rectangle in the current row keeps improving. Once the highest aspect ratio among the rectangles has reached a minimum, and adding another rectangle to the current row would increase the worst aspect ratio, the current row is fixed and a new row is created.

The following image demonstrates the tree map layout calculated using this algorithm.

Expanded Example

To customize the layout algorithm, do the following.

Expanded Inheritance Hierarchy

System.Object
    System.Windows.Threading.DispatcherObject
       System.Windows.DependencyObject
          System.Windows.Freezable
             TreeMapDependencyObject
                TreeMapLayoutAlgorithmBase
                   TreeMapLayoutAlgorithm
                      SquarifiedLayoutAlgorithm

Expanded See Also

Is this topic helpful?​​​​​​​