AwesomeProperties 1.0.9

dotnet add package AwesomeProperties --version 1.0.9
                    
NuGet\Install-Package AwesomeProperties -Version 1.0.9
                    
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="AwesomeProperties" Version="1.0.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AwesomeProperties" Version="1.0.9" />
                    
Directory.Packages.props
<PackageReference Include="AwesomeProperties" />
                    
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 AwesomeProperties --version 1.0.9
                    
#r "nuget: AwesomeProperties, 1.0.9"
                    
#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 AwesomeProperties@1.0.9
                    
#: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=AwesomeProperties&version=1.0.9
                    
Install as a Cake Addin
#tool nuget:?package=AwesomeProperties&version=1.0.9
                    
Install as a Cake Tool

AwesomeProperties

Setup

Install on nuget market place or at this link: https://www.nuget.org/packages/AwesomeProperties/

Sample

Example with a listview bind with a custom class ElectricCar and ThermalCar inherit from a class Car

alt text alt text

Awesome properties also support graphics library like WPF-UI:

alt text

Basic Usage

To show on the properties window you should mark with PropertyField attribute

Some property type are available:²

    public enum PropertyType
    {
        None,
        Text,
        Int,
        CheckBox,
        Dropdown
    }

Basic class declaration:

    public class Example
    {
        [PropertyField(PropertyType.Text, "Name")]
        public string Name { get; set; }

        [PropertyField(PropertyType.Text, "Model")]
        public string Model { get; set; }

        public Example()
        {

        }
    }

Create new instance of your custom class


    public class MainWindow
    {
        public Example MyCustomClass{ get; set;}

        public Example()
        {
            MyCustomClass = new Example();
        }
    }

To show the properties panel:


    public void ShowProperties(){
        //Put your data to bind in the constructor of PropertiesPanel
        PropertiesPanel panel = new PropertiesPanel(MyCustomClass);
        
        //Add the property panel to a container
        MyGrid.Children.Clear();
        MyGrid.Children.Add(panel);
    }

Advance Usage


    public class Example
    {
        [PropertyField(PropertyType.Text, "Name")]
        public string Name { get; set; }

        [PropertyField(PropertyType.Text, "Model")]
        public string Model { get; set; }

        public Example()
        {

        }
    }
Product Compatible and additional computed target framework versions.
.NET net5.0-windows7.0 is compatible.  net6.0-windows was computed.  net6.0-windows7.0 is compatible.  net7.0-windows was computed.  net8.0-windows was computed.  net9.0-windows was computed.  net10.0-windows was computed. 
.NET Framework net471 is compatible.  net472 is compatible.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.9 419 3/6/2023
1.0.8 350 3/5/2023
1.0.7 363 2/25/2023
1.0.6 368 2/23/2023
1.0.5 361 2/23/2023
1.0.4 365 2/23/2023
1.0.3 362 2/20/2023
1.0.2 361 2/19/2023
1.0.1 362 2/18/2023
1.0.0 358 2/16/2023
0.1.1 371 2/15/2023
0.1.0 346 2/15/2023

First release