Popularity
5.2
Growing
Activity
5.6
Growing
406
33
91

Code Quality Rank: L5
Monthly Downloads: 543
Programming language: C#
License: Copyright 2014 Antony Male
Tags: Ui     WPF     Mvvm     ViewModel     Screen     Conductor     ViewModel-First     Model-View-ViewModel    
Latest version: v1.3.1

Stylet alternatives and similar packages

Based on the "MVVM" category

  • knockout

    Knockout makes it easier to create rich, responsive UIs with JavaScript
  • ReactiveUI

    An MVVM framework for .NET that integrates the Reactive Extensions (Rx) framework, enabling developers to build elegant, testable applications using WPF, Windows Store Apps, WP8 or Xamarin.
  • Prism

    A cross-platform desktop and mobile MVVM development framework.
  • MVVMCross

    Cross-platform mvvm mobile development framework for WPF, Silverlight for WP7 and WP8, Mono for Android, MonoTouch for iOS, Windows Universal projects (WPA8.1 and Windows 8.1 Store apps). Makes extensive use of Portable Class Libraries (PCL) to provide maintainable cross platform C# native applications.
  • Caliburn.Micro

    A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
  • Gemini

    IDE framework similar in concept to the Visual Studio Shell. Built on WPF, AvalonDock, and Caliburn Micro.
  • WPF Application Framework (WAF)

    A lightweight Framework that helps you to create well structured WPF Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.
  • Catel

    Catel is an application development platform with the focus on MVVM (WPF, Silverlight, Windows Phone and WinRT) and MVC (ASP.NET MVC). The core of Catel contains an IoC container, models, validation, memento, message mediator, argument checking, etc.
  • FreshMvvm

    FreshMvvm is a super light Mvvm Framework designed specifically for Xamarin.Forms. It's designed to be Easy, Simple and Flexible.
  • DotNetProjects.WpfToolkit

    wpf toolkit fork of the MS WPF Toolkit (https://wpf.codeplex.com/releases/view/40535)
  • MVVM Dialogs

    Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP.
  • Toms Toolbox

    Visual Composition framework to easily build modularized MVVM applications based on the Managed Extensibility Framework (MEF).
  • Okra App Framework

    An app centric MVVM framework for Windows 8.1 built with dependency injection in mind, including a full set of Visual Studio MVVM templates.
  • Smaragd

    A platform-independent, lightweight library for developing .NET applications using the MVVM architecture.
  • M.V.B.

    Model View Binder - A small and robust framework for awesome cross platform architectures
  • UpdateControls

    Update Controls does not require that you implement INotifyPropertyChanged or declare a DependencyProperty. It connects controls directly to CLR properties. This makes it perfect for the Model/View/ViewModel pattern.
  • MVVM Light Toolkit

    The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone

Do you think we are missing an alternative of Stylet or a related project?

Add another 'MVVM' Package

README

[Project Icon](StyletIcon.png) Stylet

NuGet Build status

Introduction

Stylet is a small but powerful ViewModel-first MVVM framework for WPF (.NET 4.5+ and .NET Core 3.0+), which allows you to write maintainable and extensible code in a way which is easy to test. Stylet's aims are to:

  • Solve the blockers, niggles, and annoyances which hamper MVVM development without a framework, using simple but powerful concepts.
  • Be obvious to people picking up your project for the first time: there's very little magic
  • Be easy to verify/validate. The LOC count is low, and it comes with a very comprehensive test suite. The code is well-written and well-documented.
  • Be flexible while providing sensible defaults. Almost any part of the framework can be overridden if you wish, but you probably won't want to.

It is inspired by Caliburn.Micro, and shares many of its concepts, but removes most of the magic (replacing it with more powerful alternatives), and simplifies parts considerably by targeting only MVVM, WPF and .NET 4.5.

Getting Started

.NET Framework

For .NET Framework projects, the quickest way to get started is to create a new "WPF Application" project, then install the NuGet package Stylet.Start. This will install Stylet, and set up a simple skeleton project.

See Quick Start for more details.

If you want to set up your project manually, install the Stylet package, then follow the instructions in the Quick Start.

Stylet requires .NET 4.5 (Visual Studio 2012 or higher).

.NET Core

For .NET Core projects, the quickest way to get started is by using dotnet new with Stylet's template.

Open a command window where you want to create your new project, and install the Stylet templates using:

dotnet new -i Stylet.Templates

Then create a new project with:

dotnet new stylet -o MyStyletProject

(changing MyStyletProject as appropriate).

If you want to set up your project manually, install the Stylet package, then follow the instructions in the Quick Start.

Stylet requires .NET Core 3.0.

Documentation

The Wiki is the documentation source. There's loads of information there - go and have a look, or start with the Quick Start.

Symbols

The source is also available when you are debugging, using Source Link. Go to Debug -> Options and Settings -> General, and make the following changes:

  • Turn off "Enable Just My Code"
  • Turn on "Enable Source Link support"
  • Turn off "Enable .NET Framework source stepping". Yes, it is misleading, but if you don't, then Visual Studio will ignore your custom server order and only use its own servers.

Contributing

Contributions are always welcome. If you've got a problem or a question, raise an issue. If you've got code you want to contribute, please read the Contributing guidelines first of all. Create a feature branch off the develop branch, add your changes there, and submit it as a pull request.