Install
dotnet add package Iciclecreek.Avalonia.Controls --version 2.0.0
| Product | Versions |
|---|---|
| .NET |
README
![]()
Iciclecreek.Avalonia.Controls
This is a package of UI controls for Avalonia UI.
- ColumnsPanel - A panel which lays out arranges children into dynamic columns
Installation
Add the Iciclecreek.Avalonia.Controls package to your project
Update your xmlns
xmlns:ice="using:Iciclecreek.Avalonia.Controls"
ColumnsPanel Control
The ColumnsPanel control is a panel which dynamically lays out its children in left-to right order into columns.
There are 2 modes of usage:
- Dynamic Columns - The ColumnWidth property defines the width of every column, and the number of columns is dynamically set to the number of columns which fit the width of the control. The MinColumns and MaxColumns
- properties can be used to control the number of columns.
- Static Columns - The ColumnDefinitions property defines column definitions (ex: '1*,2*,500') The number of columns is determined by the number of column definitions. MinColumn, MaxColumns are ignored.
Usage
<ice:ColumnsPanel ColumnWidth="100">
<TextBlock Text="Column 1" />
<TextBlock Text="Column 2" />
<TextBlock Text="Column 3" />
...
</ice:ColumnsPanel>
Example of a columns panel in a items control
<ItemsControl Items="{Binding Items}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<ice:ColumnsPanel ColumnWidth="300" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Source}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Properties
| Property | Default | Description |
|---|---|---|
| ColumnWidth | 300 | The width of each column. |
| MinColumns | 1 | The minimum number of columns. If ColumnWidth*MinColumns is not possible the column width will scale to fit. |
| MaxColumns | Int.MaxValue | The maximum number of columns. |
| Gap | 0 | The vertical gap between each item in a column |
| ColumnGap | 0 | The horizontal gap between each column |
| ColumnDefinitions | null | A ColumnDefinitions string like ',2,*' which can be used to specify the width of each column. If this is set then ColumnWidth, MinColumns, MaxColumns are ignored. |
Changes from Previous Version
No structural changes between v1.0.0 and v2.0.0.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.