Install
$ agentstack add skill-linuxdevel-avalonia-skills-input ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Avalonia Input Controls
Overview
Input controls capture user data or trigger actions. All support IsEnabled, IsVisible, and standard styling.
Button
| Property | Type | Notes | |---|---|---| | Content | object | Any content, including XAML subtrees | | Command | ICommand | Bound command; auto-manages IsEnabled | | CommandParameter | object | Passed to command | | IsDefault | bool | Triggers on Enter | | IsCancel | bool | Triggers on Escape | | ClickMode | ClickMode | Release (default), Press, Hover |
Events: Click
Variants: RepeatButton (fires Click repeatedly while held), ToggleButton (stateful press)
CheckBox
| Property | Type | Notes | |---|---|---| | IsChecked | bool? | null = indeterminate | | IsThreeState | bool | Enables null/indeterminate state | | Content | object | Label displayed next to box |
// Handle indeterminate in ViewModel
private bool? _allSelected;
public bool? AllSelected
{
get => _allSelected;
set => SetProperty(ref _allSelected, value);
}
RadioButton
| Property | Type | Notes | |---|---|---| | IsChecked | bool | TwoWay by default | | GroupName | string | Groups buttons across panels | | Content | object | Label |
> Tip: For enum-based selection, bind each IsChecked to a converter comparing the enum value, or use ItemsControl with RadioButton items.
TextBox
| Property | Type | Notes | |---|---|---| | Text | string | TwoWay by default — do not add Mode=TwoWay | | Watermark | string | Placeholder text | | MaxLength | int | 0 = unlimited | | AcceptsReturn | bool | Multiline input | | TextWrapping | TextWrapping | NoWrap, Wrap, WrapWithOverflow | | IsReadOnly | bool | Prevents editing | | PasswordChar | char | Masks input (e.g. •) | | SelectionStart | int | Caret/selection start | | SelectionLength | int | Selection length | | InnerLeftContent | object | Icon inside left edge | | InnerRightContent | object | Icon inside right edge |
Events: TextChanged, TextChanging, LostFocus, KeyDown
ComboBox
| Property | Type | Notes | |---|---|---| | ItemsSource | IEnumerable | Bound collection | | SelectedItem | object | TwoWay by default | | SelectedIndex | int | Zero-based | | SelectedValue | object | Used with SelectedValueBinding | | IsEditable | bool | Allows text entry | | PlaceholderText | string | Shown when nothing selected | | MaxDropDownHeight | double | Limits dropdown height |
Slider
| Property | Type | Notes | |---|---|---| | Minimum | double | Default: 0 | | Maximum | double | Default: 100 | | Value | double | TwoWay by default | | TickFrequency | double | Interval between ticks | | IsSnapToTickEnabled | bool | Snaps value to tick marks | | Orientation | Orientation | Horizontal (default), Vertical | | IsDirectionReversed | bool | Inverts direction | | TickPlacement | TickPlacement | None, TopLeft, BottomRight, Outside |
NumericUpDown
| Property | Type | Notes | |---|---|---| | Value | decimal? | TwoWay by default | | Minimum | decimal? | Lower bound | | Maximum | decimal? | Upper bound | | Increment | decimal | Step per click | | FormatString | string | e.g. "F2", "N0", "C2" | | AllowSpin | bool | Show up/down buttons | | ShowButtonSpinner | bool | Toggle spinner visibility | | NumberFormat | NumberFormatInfo | Culture-specific formatting |
Calendar
| Property | Type | Notes | |---|---|---| | SelectedDate | DateTime? | Selected date | | DisplayMode | CalendarMode | Month, Year, Decade | | DisplayDate | DateTime | Currently displayed month | | BlackoutDates | CalendarBlackoutDatesCollection | Disabled dates | | IsTodayHighlighted | bool | Highlights today | | SelectionMode | CalendarSelectionMode | SingleDate, SingleRange, MultipleRange, None |
calendar.BlackoutDates.Add(new CalendarDateRange(DateTime.Today.AddDays(1), DateTime.Today.AddDays(7)));
DatePicker
| Property | Type | Notes | |---|---|---| | SelectedDate | DateTimeOffset? | Note: not DateTime | | DisplayDateStart | DateTimeOffset? | Earliest selectable | | DisplayDateEnd | DateTimeOffset? | Latest selectable | | Watermark | string | Placeholder | | DayFormat | string | Day display format | | MonthFormat | string | Month display format | | YearFormat | string | Year display format |
// Convert DateTimeOffset? to DateTime for use
DateTime? date = picker.SelectedDate?.DateTime;
TimePicker
| Property | Type | Notes | |---|---|---| | SelectedTime | TimeSpan? | Selected time value | | ClockIdentifier | string | "12HourClock" or "24HourClock" | | MinuteIncrement | int | Snap interval (1–59) |
Common Mistakes
| Mistake | Fix | |---|---| | TextBox Text="{Binding X, Mode=TwoWay}" | Remove Mode=TwoWay — it's the default | | ComboBox with value types, SelectedItem not working | Use SelectedIndex or ensure proper equality; value types match by value but boxed objects may not | | All RadioButtons in same panel auto-group | Use GroupName to separate groups across panels or force cross-panel grouping | | DatePicker.SelectedDate typed as DateTime | It's DateTimeOffset? — convert with .DateTime | | NumericUpDown.Value typed as double | It's decimal? — use decimal in ViewModel | | TextBox binding not updating on every keystroke | Default updates on LostFocus; use UpdateSourceTrigger=PropertyChanged if needed | | PasswordChar with compiled bindings | No issue, but Text binding exposes password in ViewModel — consider SecureString patterns |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: linuxdevel
- Source: linuxdevel/Avalonia-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.