radj307.AppReconfig
2.3.1
dotnet add package radj307.AppReconfig --version 2.3.1
NuGet\Install-Package radj307.AppReconfig -Version 2.3.1
<PackageReference Include="radj307.AppReconfig" Version="2.3.1" />
paket add radj307.AppReconfig --version 2.3.1
#r "nuget: radj307.AppReconfig, 2.3.1"
// Install radj307.AppReconfig as a Cake Addin #addin nuget:?package=radj307.AppReconfig&version=2.3.1 // Install radj307.AppReconfig as a Cake Tool #tool nuget:?package=radj307.AppReconfig&version=2.3.1
AppReconfig
Lightweight C# application configuration using JSON format.
For the best results, this should be used with Fody & its PropertyChanged addon so you don't have to write your own PropertyChanged
notifiers.
Getting Started
Check out the example projects in this repository for a full example.
To use it, create a class to store your settings and inherit from one of the Configuration
abstract classes provided by AppConfig:
using AppConfig;
namespace UsageExample
{
public class MyConfig : ConfigurationFileWithAutosave
{
public MyConfig(string location) : base(location) { }
public static MyConfig Instance => (MyConfig)DefaultInstance;
public string Text { get; set; } = string.Empty;
public bool BoxIsChecked { get; set; } = false;
}
}
You can even use it in WPF:
<StackPanel Grid.Row="1" Orientation="Horizontal">
<CheckBox
Margin="10,5"
VerticalAlignment="Center"
Content="Box"
IsChecked="{Binding BoxIsChecked, Source={StaticResource VM}, UpdateSourceTrigger=PropertyChanged}" />
<TextBox
Margin="10,5"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Text="{Binding Text, Source={x:Static local:MyConfig.Instance}, UpdateSourceTrigger=LostFocus}" />
</StackPanel>
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- Newtonsoft.Json (>= 13.0.3)
- UltraMapper (>= 0.2.61)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on radj307.AppReconfig:
Package | Downloads |
---|---|
VolumeControl.SDK
Official Addon SDK for the Volume Control application. |
GitHub repositories
This package is not used by any popular GitHub repositories.