AutoSettingUI.Extension.Shared 1.3.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package AutoSettingUI.Extension.Shared --version 1.3.1
                    
NuGet\Install-Package AutoSettingUI.Extension.Shared -Version 1.3.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AutoSettingUI.Extension.Shared" Version="1.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AutoSettingUI.Extension.Shared" Version="1.3.1" />
                    
Directory.Packages.props
<PackageReference Include="AutoSettingUI.Extension.Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AutoSettingUI.Extension.Shared --version 1.3.1
                    
#r "nuget: AutoSettingUI.Extension.Shared, 1.3.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AutoSettingUI.Extension.Shared@1.3.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AutoSettingUI.Extension.Shared&version=1.3.1
                    
Install as a Cake Addin
#tool nuget:?package=AutoSettingUI.Extension.Shared&version=1.3.1
                    
Install as a Cake Tool

AutoSettingUI.Extension.Shared

Shared utilities and helpers for AutoSettingUI framework extensions. This package contains common code used by all UI framework implementations (Avalonia, Ursa, WPF).

NuGet License: MIT

Installation

<PackageReference Include="AutoSettingUI.Extension.Shared" Version="1.0.0" />

Note: This package is typically installed automatically as a dependency of the framework-specific packages.

Features

ValidationHelper

Provides unified validation logic for property values:

using AutoSettingUI.Extension.Shared;

// Validate a property value
bool isValid = ValidationHelper.ValidateValue(propertyInfo, value, target, out string? errorMessage);

Supported validations:

  • Required field validation
  • String length validation (MinLength/MaxLength)
  • Pattern matching (Regex)
  • Numeric range validation (MinValue/MaxValue)
  • Custom validation method invocation

ExtendedControlHelper

Simplifies creating controls from ControlBindingAttribute:

using AutoSettingUI.Extension.Shared;

// Create a control from attribute
var control = ExtendedControlHelper.CreateControl(attribute, propertyType);

Features:

  • Factory method invocation (static and instance methods)
  • Control instantiation via reflection
  • Binding property resolution

ControlFactoryBase

Base class for control factories providing common functionality:

public class MyControlFactory : ControlFactoryBase
{
    // Inherits:
    // - Property value access via IPropertyValueAccessor
    // - Dynamic read-only state evaluation
    // - CanExecute delegate evaluation
    // - Type resolution from name strings
}

Usage

This package is primarily used internally by the framework extensions. If you're creating a custom extension, you can reference it directly:

using AutoSettingUI.Extension.Shared;

public class MyCustomPanel
{
    protected bool ValidateProperty(PropertyInfo prop, object? value, object target)
    {
        return ValidationHelper.ValidateValue(prop, value, target, out _);
    }

    protected object? CreateExtendedControl(ControlBindingAttribute attr, Type propertyType)
    {
        return ExtendedControlHelper.CreateControl(attr, propertyType);
    }
}
  • AutoSettingUI.Core - Core attributes and interfaces
  • AutoSettingUI.Generator - Roslyn source generator
  • AutoSettingUI.Avalonia - Avalonia UI panel
  • AutoSettingUI.Ursa - Ursa-themed Avalonia panel
  • AutoSettingUI.WPF - WPF panel

Documentation

License

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on AutoSettingUI.Extension.Shared:

Package Downloads
AutoSettingUI.Ursa

Ursa UI implementation for AutoSettingUI - Declarative settings UI controls for Ursa (Avalonia)

AutoSettingUI.WPF

WPF UI implementation for AutoSettingUI - Declarative settings UI controls for WPF

AutoSettingUI.Avalonia

Avalonia UI implementation for AutoSettingUI - Declarative settings UI controls for Avalonia

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.4.1 0 3/31/2026
1.4.0 120 3/28/2026
1.3.1 77 3/25/2026
1.3.0 115 3/21/2026