Giter Club home page Giter Club logo

atc-wpf's Introduction

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

atc-wpf's People

Contributors

davidkallesen avatar perkops avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.