Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cricle/ao.objectdesign
An object designer
https://github.com/cricle/ao.objectdesign
dynamic objectdeisgn wpf
Last synced: 4 days ago
JSON representation
An object designer
- Host: GitHub
- URL: https://github.com/cricle/ao.objectdesign
- Owner: Cricle
- License: apache-2.0
- Created: 2021-06-28T02:21:42.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-15T07:16:17.000Z (almost 2 years ago)
- Last Synced: 2023-03-05T23:13:48.887Z (over 1 year ago)
- Topics: dynamic, objectdeisgn, wpf
- Language: C#
- Homepage:
- Size: 19.9 MB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.EN-US.md
- License: LICENSE
Awesome Lists containing this project
README
ObjectDesign
Auto generate object proxy visitor
[![codecov](https://codecov.io/gh/Cricle/Ao.ObjectDesign/branch/master/graph/badge.svg?token=jyQaSxhCz2)](https://codecov.io/gh/Cricle/Ao.ObjectDesign)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/54617be52d464795bddb2af0c91eadc3)](https://www.codacy.com/gh/Cricle/Ao.ObjectDesign/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Cricle/Ao.ObjectDesign&utm_campaign=Badge_Grade)# Language
[简体中文](README.md) [English](README.EN-US.md)
# Build Status
|Provider|Status|
|:-:|:-|
|Github|[![.NET](https://github.com/Cricle/Ao.ObjectDesign/actions/workflows/dotnet.yml/badge.svg?branch=master)](https://github.com/Cricle/Ao.ObjectDesign/actions/workflows/dotnet.yml)|
|Azure Pipline|[![Build Status](https://hcricle.visualstudio.com/Ao.ObjectDesign/_apis/build/status/Ao.ObjectDesign?branchName=master)](https://hcricle.visualstudio.com/Ao.ObjectDesign/_build/latest?definitionId=10&branchName=master)|# What is this
It provider a way to dynamic proxy object, and then you can visitor them at anywhere, such as geneate design ui, to provide use design.
# How to use
## Proxy object
```csharp
//To generate object proxy.
var proxy=ObjectDesigner.Instance.CreateProxy(obj,obj.GetType());
//Get this layout property proxies
var propProxies=proxy.GetPropertyProxies()```
To see sample `ObjectDesignRW`
## Generate wpf design ui
You can use type `ForViewBuilder`, the project `Ao.ObjectDesign.Wpf` support direct generate ui and `DataTemplateSelector` way to create ui by proxy data.
The project `Ao.ObjectDesign.Wpf` support manay wpf component designer, such as `Point`, `Rect`, `Thickness`...
The project `Ao.ObjectDesign.Controls` support any wpf controls settings, such as `Button`, `CheckBox`, `TextBox`...
If you do not want make all properties proxy and generate ui, you can design yourself type.
If you want save/load the settings, you can use project `Ao.ObjectDesign.Wpf.Json`.
To see sample `ObjectDesign.Wpf`
## Next
- [ ] Add more unit tests
- [ ] Add step recorder, add sequencer