MattEqualsCoder.DynamicForms.Core
1.0.1
dotnet add package MattEqualsCoder.DynamicForms.Core --version 1.0.1
NuGet\Install-Package MattEqualsCoder.DynamicForms.Core -Version 1.0.1
<PackageReference Include="MattEqualsCoder.DynamicForms.Core" Version="1.0.1" />
paket add MattEqualsCoder.DynamicForms.Core --version 1.0.1
#r "nuget: MattEqualsCoder.DynamicForms.Core, 1.0.1"
// Install MattEqualsCoder.DynamicForms.Core as a Cake Addin #addin nuget:?package=MattEqualsCoder.DynamicForms.Core&version=1.0.1 // Install MattEqualsCoder.DynamicForms.Core as a Cake Tool #tool nuget:?package=MattEqualsCoder.DynamicForms.Core&version=1.0.1
Dynamic Forms
Dynamic UI builder for WPF and Avalonia. By creating a ViewModel with attributes attached to properties and events and passing that ViewModel into the DynamicFormControl, you can have the control build a form with various different controls to accommodate a wide variety of data types.
You can create the above via the below code:
ViewModel
public class BasicViewModel
{
[DynamicFormFieldText]
public string BasicExampleText => "DynamicForms allows you to use property and event attributes to build a form dynamically for both WPF and Avalonia.";
[DynamicFormFieldTextBox("Basic Text Box")]
public string TextBoxOne { get; set; } = "";
[DynamicFormFieldComboBox("Basic Combo Box", comboBoxOptionsProperty: nameof(ComboBoxOptions))]
public string ComboBoxOne { get; set; } = "Test 3";
[DynamicFormFieldButton("View YAML")]
public event EventHandler? ButtonPress;
public string[] ComboBoxOptions => ["Test 1", "Test 2", "Test 3"];
}
Window C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var model = new BasicViewModel();
model.ButtonPress += (sender, args) =>
{
Console.WriteLine("Button pressed");
};
DataContext = model;
}
}
Window XAML
<control:DynamicFormControl Data="{Binding}" Margin="5" />
Usage
- Create multiple projects
- Shared library for view model classes
- WPF application
- Avalonia application
- Install nuget packages
- Shared library: MattEqualsCoder.DynamicForms.Core
- WPF application: MattEqualsCoder.DynamicForms.WPF
- Avalonia application: MattEqualsCoder.DynamicForms.Avalonia
- Add controls to WPF and Avalonia windows
Documentation
You can view additional documentation about using it here.
Product | Versions 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. |
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MattEqualsCoder.DynamicForms.Core:
Package | Downloads |
---|---|
MattEqualsCoder.DynamicForms.Avalonia
Library to dynamically generate forms for user input based on attributes. |
|
MattEqualsCoder.DynamicForms.WPF
Library to dynamically generate forms for user input based on attributes. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 288 | 7/15/2024 |
1.0.0 | 105 | 7/15/2024 |
0.0.3-rc.1 | 407 | 4/21/2024 |
0.0.2 | 142 | 4/8/2024 |
0.0.1-rc.1 | 63 | 4/6/2024 |