# GiantappConfiger
**Repository Path**: GiantappMan/GiantappConfiger
## Basic Information
- **Project Name**: GiantappConfiger
- **Description**: 一个懒人用的带界面的配置读写器
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-09-04
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# GiantappConfiger
懒人专用配置界面生成器,根据传入对象自动生成UI界面
只支持WPF。UWP等微软Net5出了再看
# 支持功能
- [x] 给任意对象,自动生成配置UI
- [x] 多语言
- [x] 外部文件描述
# 用法
//.xaml
```xaml
```
//描述文件格式,可不填
```csharp
var descriptor = new DescriptorInfoDict()
{
{"TestSetting",
new DescriptorInfo(){
Text = "node 0",
PropertyDescriptors = new DescriptorInfoDict() {
{"P1", new DescriptorInfo(){ Text="int property"} },
{"P2", new DescriptorInfo(){ Text="string property",DefaultValue="xxx"} },
{"SubSetting", new DescriptorInfo(){ Text="string property",DefaultValue=new SubSetting(),
PropertyDescriptors=new DescriptorInfoDict()
{
{"SP1", new DescriptorInfo(){ Text="sub int property"} },
{"SP2", new DescriptorInfo(){ Text="sub string property",DefaultValue="ooo"} }
}}
},
}
}}
};
```
//.cs 获取vm, descriptor可传null
```csharp
var tmp = new TestSetting()
{
Str1 = "6",
};
var vm = ConfigerService.GetVM(tmp, descriptor);
configer.DataContext = vm;
//UI操作后,获取数据
tmp = ConfigerService.GetData(vm.Nodes);
```