https://github.com/atc-net/atc-wpf
A common library for WPF components and MVVM programming model
https://github.com/atc-net/atc-wpf
components-library wpf
Last synced: 4 months ago
JSON representation
A common library for WPF components and MVVM programming model
- Host: GitHub
- URL: https://github.com/atc-net/atc-wpf
- Owner: atc-net
- License: mit
- Created: 2021-02-25T08:49:06.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-07T06:13:12.000Z (over 1 year ago)
- Last Synced: 2024-05-15T15:42:26.534Z (over 1 year ago)
- Topics: components-library, wpf
- Language: C#
- Homepage: https://atc-net.github.io/repository/atc-wpf
- Size: 5.99 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ATC.Net WPF
This is a base libraries for building WPF application with the MVVM design pattern.
## Requirements
[.NET 9 - Desktop Runtime](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)
## NuGet Packages Provided in this Repository
| Nuget package | Description | Dependencies |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|----------------------------------------------|
| [](https://www.nuget.org/packages/Atc.Wpf) | Base Controls, ValueConverters, Extensions etc. |
- Atc
- Atc.XamlToolkit
- Atc.XamlToolkit.Wpf
| [](https://www.nuget.org/packages/Atc.Wpf.Controls) | Miscellaneous UI Controls |
- Atc.Wpf
- Atc.Wpf.FontIcons
- Atc.Wpf.Theming
- Atc.XamlToolkit
- Atc.XamlToolkit.Wpf
| [](https://www.nuget.org/packages/Atc.Wpf.Controls.Sample) | Controls for creating WPF sample apps |
- Atc.Wpf
- Atc.Wpf.Theming
- Atc.Wpf.Controls
| [](https://www.nuget.org/packages/Atc.Wpf.FontIcons) | Render Svg and Img resources based on fonts |
- Atc.Wpf
| [](https://www.nuget.org/packages/Atc.Wpf.Theming) | Theming for Light & Dark mode for WPF base controls |
- Atc.Wpf
- Atc.XamlToolkit
- Atc.XamlToolkit.Wpf
## 🔎 Demonstration Application
The demonstration application, `Atc.Wpf.Sample`, functions as a control explorer.
It provides quick visualization of a given control, along with options for
copying and pasting the XAML markup and/or the C# code for how to use it.
## 🎈 Playground and Viewer for a Given Control or Functionality
The following example is taken from the ReplayCommandAsync which illustrates its usage:
- The `Sample` tab shows how to use the control or feature.
- The `XAML` tab displays the corresponding XAML markup.
- The `CodeBehind` tab reveals the underlying code-behind.
- The `ViewModel` tab displays the associated ViewModel, if used.
- The `Readme` tab displays the associated [control]_Readme.md, if exist.
| | |
|-------------------------------------------------------------------------|-----------------------------------------------------------------------|
| Sample  | XAML  |
| CodeBehind  | ViewModel  |
### 🔦 Initial glimpse at the demonstration application
| Light-Mode | Dark-Mode |
|------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| Wpf - AutoGrid  | Wpf - AutoGrid  |
| Wpf.Controls - Label MIX  | Wpf.Controls - Label MIX  |
| Wpf.Theming - ImageButton  | Wpf.Theming - ImageButton  |
| Wpf.FontIcons - Viewer  | Wpf.FontIcons - Viewer  |
# 🚀 How to get started with Atc's WPF
First of all, include Nuget packages in the `.csproj` file like this:
```xml
```
Then update `App.xaml` like this:
```xml
```
Now it is possible to use controls with theming and default WPF controls like TextBox, Button etc. with theme style.
## 💝 WPF with MVVM Easily Separate UI and Business Logic
With the `Atc.Wpf`, package, it is very easy to get startet with the nice `MVVM pattern`
Please read more here:
- [MVVM framework](docs/Mvvm/@Readme.md)
- [Observerble properties](docs/Mvvm/@Readme.md)
- [RelayCommands](docs/Mvvm/@Readme.md)
# 📝 Readme's for each NuGet Package area
***Note: Right now, it is a limit amount of controls and components there is documented with a `Readme.md` file.
Therefore run the `Atc.Wpf.Sample` application to explore all the controls and components.*** 😊
## 💟 Atc.Wpf
### Controls
- Layouts
- [GridEx](src/Atc.Wpf/Controls/Layouts/GridEx_Readme.md)
- [StaggeredPanel](src/Atc.Wpf/Controls/Layouts/StaggeredPanel_Readme.md)
- [UniformSpacingPanel](src/Atc.Wpf/Controls/Layouts/UniformSpacingPanel_Readme.md)
- Media
- [SvgImage](src/Atc.Wpf/Controls/Media/SvgImage_Readme.md)
- Helpers
- [PanelHelper](src/Atc.Wpf/Helpers/PanelHelper_Readme.md)
### Misc
- [ShaderEffects](src/Atc.Wpf/Media/ShaderEffects/@Readme.md)
- [How to use HLSL Shader Compiler](src/Atc.Wpf/Media/ShaderEffects/Shaders/@Readme.md)
- [Tranlation & localizaion](src/Atc.Wpf/Translation/@Readme.md)
- [ValueConverters](src/Atc.Wpf/ValueConverters/@Readme.md)
## 💟 Atc.Wpf.Controls
### Controls
- [WellKnownColorPicker](src/Atc.Wpf.Controls/ColorControls/WellKnownColorPicker_Readme.md)
### Misc
- [ValueConverters](src/Atc.Wpf.Controls/ValueConverters/@Readme.md)
## 💟 Atc.Wpf.FontIcons
### Misc
- [ValueConverters](src/Atc.Wpf.FontIcons/ValueConverters/@Readme.md)
## 💟 Atc.Wpf.Theming
- [ValueConverters](src/Atc.Wpf.Theming/ValueConverters/@Readme.md)
# How to contribute
[Contribution Guidelines](https://atc-net.github.io/introduction/about-atc#how-to-contribute)
[Coding Guidelines](https://atc-net.github.io/introduction/about-atc#coding-guidelines)