Go to file
Antony Male 235504941f Throw (by default) if ToAllImplementations does not find any implementations
This will happen if someone takes a concrete class (with no subclasses), uses
ToAllImplementations on it (and InSingletonScope), and wonders why the singleton
registration didn't 'take': the ToAllImplementations didn't create any bindings,
so we fell back to auto-binding the type
2016-03-02 17:15:22 +00:00
.nuget Update nuget 2014-11-27 10:32:44 +00:00
Bootstrappers Rework slightly how the root VM is launched, to avoid it being created only to be disposed 2016-01-27 12:30:26 +00:00
NuGet Take version to 0.0.0: AppVeyor bumps it on build 2016-01-29 12:49:31 +00:00
Samples Fix typo in DesignMode sample 2016-02-26 14:35:37 +00:00
Stylet Throw (by default) if ToAllImplementations does not find any implementations 2016-03-02 17:15:22 +00:00
StyletIntegrationTests Freeze BitmapSources before returning them 2015-10-08 14:43:09 +01:00
StyletUnitTests Throw (by default) if ToAllImplementations does not find any implementations 2016-03-02 17:15:22 +00:00
.gitattributes Working ActionCommand 2014-02-03 20:10:58 +00:00
.gitignore Add rake task to generate code coverage report 2014-05-06 12:21:39 +01:00
CHANGELOG.txt Update changelog 2016-02-02 09:15:12 +00:00
LICENSE.txt Actually fill in the blanks in the license 2014-05-23 13:08:19 +01:00
README.md Add a 'Documentation' section again 2016-01-19 16:16:32 +00:00
Rakefile Fix cover report generation 2016-01-19 11:15:35 +00:00
Stylet.sln Start on the integration test suite 2014-04-04 13:04:53 +01:00
Stylet.sln.DotSettings Align style with ReSharper 2015-01-14 15:08:43 +00:00
StyletIcon.png First attempt at an icon 2014-04-19 00:17:08 +01:00
StyletIcon.svg First attempt at an icon 2014-04-19 00:17:08 +01:00

README.md

Project Icon Stylet

NuGet Build status

Introduction

Stylet is a small but powerful ViewModel-first MVVM framework for WPF, which allows you to write maintainable and extensible code in a way which is easy to test. Stylet's aims 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

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).

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 GitLink. Go to Debug -> Options and Settings -> General, and make the following changes:

  • Turn off "Enable Just My Code"
  • 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.
  • Turn on "Enable source server support". You may have to OK a security warning.

See also GitLink troubleshooting.

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.