This project is read-only.

The WPFSmartLibrary is the ultimate instant GUI enrichment library with a collection of smart WPF controls, styles and types which allows you to speed up the development process and provides you an easy way to enrich your WPF GUI. The whole library  is provided for free including the usage of the source code (which is published under the Microsoft Public License [Ms-PL]).

The Library contains several useful classes which can helps you develop your WPF applications faster and smarter. Or to say it in short words : “The library helps you be more productive”. Because of simplicity there is only one assembly which you have to reference to use all the smart functions.

Below you can see at first an overview of all smart controls and styles. Afterwards you will find a list of all classes (sorted by namespace) which are contained in the WPFSmartLibrary. Just click on a control, a style or a class to see more information about it (important : some documentations are not finished yet).

The library complies with the following principles :
  • Easy to use :
    Only one assembly  -  Only one reference.
  • All controls are “blendable” :
    The controls will nearly look the same in the Designer as they will look in a running application.
  • All controls are “authentic” :
    If imitating another OS, the controls will look and feel like the “originals”

Controls in the current release :


SmartLoginOverlay Control

A login overlay control with the look and feel of the new Windows OS for a simple and smart user authentication in WPF applications.


SmartTile and SmartTilePanel

SmartTiles And SmartTilePanel

A Combination of tile controls and tile panel controls with an authentic look and feel of the new Windows OS.



SmartIndicator Control

A three state indicator control with animated state change and different observation possibilities.


Styles in the current release :



A PasswordBox style, which makes the standard PasswordBox look and behave like the new Windows8 Password Box.




An extended PasswordBox style, which makes the standard PasswordBox look and behave like the new Windows OS Password Box including the “send button”.


Overview of all Classes :

SoftArcs.WPFSmartLibrary.ClassExtensions Namespace

SoftArcs.WPFSmartLibrary.CommonHelpers Namespace

SoftArcs.WPFSmartLibrary.FoundationTypes Namespace

SoftArcs.WPFSmartLibrary.MVVMCommands Namespace

SoftArcs.WPFSmartLibrary.MVVMCore Namespace
  Class Description
Public Class Icon ViewModelBase A base class with various implementations of the "INotifyPropertyChanged" - Interface. Every view model class should derive from this class to enable automatic data binding change notifications.
Public Class Icon ViewModelHelper Provides a set of properties and methods for the usage in MVVM scenarios.


SoftArcs.WPFSmartLibrary.SmartCustomControls Namespace

AppBarButton Class

SmartExtensions Class

SmartScrollViewer Class

SmartTilePanel Class

SmartTilePanelGroup Class


SoftArcs.WPFSmartLibrary.SmartUserControls Namespace

SmartIndicator Class

SmartInfoIcon Class

SmartLoginOverlay Class

SmartTile Class


SoftArcs.WPFSmartLibrary.SmartUserControls.FoundationTypes Namespace

SmartLoginOverlayCoreTypes Class

SmartTileCoreTypes Class


SoftArcs.WPFSmartLibrary.SmartUserControls.SmartTileWidgets Namespace

DesktopWidget Class


SoftArcs.WPFSmartLibrary.UIClassAttachedProperties Namespace

BrushPropertyAnimation Class

TextBoxBaseAnimation Class

VisibilityAnimation Class

PasswordBoxBinding Class

PasswordBoxManager Class

TextBoxBaseManager Class

WindowKeysHandling Class

AttachedPropertiesManager Class

GridManager Class


SoftArcs.WPFSmartLibrary.UIClassEnhancements Namespace

PasswordBoxEnhancements Class

TextBoxBaseEnhancements Class


SoftArcs.WPFSmartLibrary.UIClassExtensions Namespace

DependencyObjectExtensions Class

GridExtensions Class

UIElementAnimations Class


SoftArcs.WPFSmartLibrary.ValueConverter Namespace

BooleanConverter Class

BrushConverter Class

CollectionConverter Class

DateTimeConverter Class

EnumConverter Class

MultiCalculationConverter Class

NumericConverter Class

ObjectConverter Class

StringConverter Class

VisibilityConverter Class


(more coming soon …)


With the goal to make everything perfectly, it seems that my attempt to refactor all the classes that i had planned in one big step would become a never ending story.

So i decided to let the library grow in the following manner :

  1. Refactor a part of my huge library
  2. Write and post an article on CodeProject with an extensive description of the refactored part (e.g. UserControl, Style etc.)
  3. Update the project files and sources on CodePlex and make them available for downloading (including all related files)

Last edited Jul 27, 2013 at 9:51 PM by DotNetMastermind, version 196