
[DesignTimeVisible(false)] [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 GridLayout : DiagramLayout, IDiagramLayout
By default this layout will sort all of the nodes alphabetically (ignoring case) and position them left-to-right until they don't fit in the current row, at which time it starts a new row. There is a uniform cell size equal to the maximum node width (plus spacing width) and the maximum node height (plus spacing height). At least one node is placed in each row, even if the node by itself is wider than the wrapping width. The wrapping width is given by the width in model coordinates of the diagram's panel's viewport width.
You can specify values for the CellSize Width
and/or Height
. If a node is wider than the cell size, it spans more than one cell in the row. You can also specify a value for the WrappingWidth, which will be used instead of the diagram's viewport width.
This layout is sufficiently simple that it does not use a GenericNetwork<V,E,Y>.
Although this class inherits from FrameworkElement
in order to support data binding, it is not really a FrameworkElement
or UIElement
! Please ignore all of the properties, methods, and events defined by FrameworkElement
and UIElement
.
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.UIElement
System.Windows.FrameworkElement
Northwoods.GoXam.Layout.DiagramLayout
Northwoods.GoXam.Layout.GridLayout