Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomlm/iciclecreek.avalonia.controls
Cross platform controls for Avalonia (ColumnsPanel,...)
https://github.com/tomlm/iciclecreek.avalonia.controls
Last synced: 5 days ago
JSON representation
Cross platform controls for Avalonia (ColumnsPanel,...)
- Host: GitHub
- URL: https://github.com/tomlm/iciclecreek.avalonia.controls
- Owner: tomlm
- License: mit
- Created: 2023-11-19T01:16:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-04T01:46:14.000Z (about 2 months ago)
- Last Synced: 2025-01-04T16:03:36.206Z (22 days ago)
- Language: C#
- Size: 149 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Icon](https://raw.githubusercontent.com/tomlm/Iciclecreek.Avalonia.Controls/main/icon.png)
# 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 projectUpdate your xmlns
```xaml
xmlns:ice="using:Iciclecreek.Avalonia.Controls"
```## ColumnsPanel Control
![ColumnsPanel](https://user-images.githubusercontent.com/17789481/284078002-ec829cbc-3bbb-4cdd-a4a4-e0cdb70df718.gif)
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: ```'*, 2*, 500'```)
The number of columns is determined by the number of column definitions. **MinColumns**, **MaxColumns** are ignored.
### Usage
```xaml
...```
Example of a columns panel in a items control
```xaml
```
### 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 ```'300,2*,*'``` which can be used to specify the width of each column. When ColumnDefinitions is set ColumnWidth, MinColumns, MaxColumns are ignored. |## TextBlockSpinner Control
The TextBlockSpinner control is a loading/busy spinner which uses Text characters to create the spinner.
![spinners](https://github.com/user-attachments/assets/35750276-15e2-4941-b6b6-e2ea8fb87872)### Usage
```xaml```
### Properties
| Property | Default | Description |
| --- | --- | --- |
| **IsActive** | true/false | When it's active it's visible and animating |
| **AnimationType** | enum | name of animationtype |## BigTextBlockSpinner Control
The BigTextBlockSpinner control is a loading/busy spinner which uses Text characters to create the spinner but it can be arbitrary large.
![bigspinner](https://github.com/user-attachments/assets/e2ea1cf0-70a5-4b0a-b74d-238f0418e611)### Usage
```xaml```
| Property | Default | Description |
| --- | --- | --- |
| **IsActive** | true/false | When it's active it's visible and animating |
| **Rows** | number | defines number of characters in height |
| **Colunms** | number | defines number of characters in width |
| **Length** | number | defines how "long" the tail is in characters |
| **AnimationChar** | char| char to use to render the animation |