Skip to content

atc-net/atc-wpf

Repository files navigation

NuGet Version

ATC.Net WPF

This is a base libraries for building WPF application with the MVVM design pattern.

Table of contents

Requirements

.NET 8 - Desktop Runtime

NuGet Packages Provided in this Repository

Nuget package Description Dependencies
Atc.Wpf Base Controls, ValueConverters, Extensions etc. Atc
Atc.FontIcons Render Svg and Img resources based on fonts Atc.Wpf
Atc.Theming Theming for Light & Dark mode for WPF base controls Atc.Wpf
Atc.Controls Miscellaneous UI Controls Atc.Wpf & Atc.Wpf.Theming
Atc.Controls.Sample Controls for creating WPF sample apps Atc.Wpf & Atc.Wpf.Theming

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 Img XAML Img
CodeBehind Img ViewModel Img

Initial glimpse at the demonstration application

Light-Mode Dark-Mode
Wpf - AutoGrid Img Wpf - AutoGrid Img
Wpf.Controls - Label MIX Img Wpf.Controls - Label MIX Img
Wpf.Theming - ImageButton Img Wpf.Theming - ImageButton Img
Wpf.FontIcons - Viewer Img Wpf.FontIcons - Viewer Img

How to get started with atc-wpf

First of all, include Nuget packages in the .csproj file like this:

  <ItemGroup>
    <PackageReference Include="Atc.Wpf" Version="2.0.178" />
    <PackageReference Include="Atc.Wpf.Controls" Version="2.0.178" />
    <PackageReference Include="Atc.Wpf.FontIcons" Version="2.0.178" />
    <PackageReference Include="Atc.Wpf.Theming" Version="2.0.178" />
  </ItemGroup>

Then update App.xaml like this:

<Application
    x:Class="Atc.Wpf.Sample.App"
    xmlns:atc="https://github.com/atc-net/atc-wpf/tree/main/schemas"
    [other namespaces]>
    <Application.Resources>
        <ResourceDictionary>

            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Atc.Wpf.Theming;component/Styles/Default.xaml" />
                <ResourceDictionary Source="pack://application:,,,/Atc.Wpf.Controls;component/Styles/Controls.xaml" />
            </ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>
    </Application.Resources>
</Application>

Now it is possible to use controls with theming and default WPF controls like TextBox, Button etc. with theme style.

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

Misc

Atc.Wpf.Controls

Controls

Misc

Atc.Wpf.FontIcons

Misc

Atc.Wpf.Theming

How to contribute

Contribution Guidelines

Coding Guidelines

About

A common library for WPF components and MVVM programming model

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages