• Stars
    star
    985
  • Rank 46,479 (Top 1.0 %)
  • Language
    C#
  • License
    MIT License
  • Created over 10 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A very lightweight but powerful ViewModel-First MVVM framework for WPF for .NET Framework and .NET Core, inspired by Caliburn.Micro.

Project Icon 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 5.0+ / .NET Core

For .NET Core and .NET 5.0+ 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 .NET 5.0 project with:

dotnet new stylet -n MyStyletProject

(changing MyStyletProject as appropriate).

If you want to create a .NET Core 3.1 project, then:

dotnet new stylet -F netcoreapp3.1 -n MyStyletProject

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

Stylet requires .NET 5.0+ or .NET Core 3.0+.

.NET Framework (<= .NET 4)

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

Documentation

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

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.

More Repositories

1

SyncTrayzor

Windows tray utility / filesystem watcher / launcher for Syncthing
C#
5,799
star
2

RestEase

Easy-to-use typesafe REST API client library for .NET Standard 1.1 and .NET Framework 4.5 and higher, which is simple and customisable. Inspired by Refit
C#
1,075
star
3

Simple.Migrations

Simple but powerful migrations library for .NET Core
C#
217
star
4

PropertyChanged.SourceGenerator

Powerful INotifyPropertyChanged / INotifyPropertyChanging Source Generator, which generates INPC boilerplate for you as part of your build. Supports features such as automatic and manual dependencies between properties, notifications when specific properties change, and more.
C#
133
star
5

fuelphp-casset

Better asset management library for fuelphp (with minification!)
PHP
103
star
6

StateMechanic

Simple but powerful hierarchical state machine library
C#
54
star
7

s3-tar-backup

Incrementally backup/restore to Amazon S3 using tar
Ruby
20
star
8

sem_version

Semantic version parsing and comparison for ruby
Ruby
14
star
9

backer_upper

Smart, fast backup program for windows. Supports mirror backups on S3
C#
11
star
10

sinatra-cacher

Sinatra cache library. Simple and effective file-based caching. Caches routes, blocks, or HTML fragments. Sets ETag correctly. Automatic or manual tag generation. Easy cache clearing.
Ruby
10
star
11

timer

Windows time-tracking application
C#
8
star
12

irc_bouncer

IRC bouncer for multiple servers and clients, written in ruby
Ruby
7
star
13

SimpleTasks

Simple task runner, suitable for build scripts
C#
5
star
14

BitPacker

WIP Binary serializer / deserializer generator
C#
5
star
15

ec2manager

Tool to easily fire up new Ec2 instances, running preconfigured services from snapshots, like dedicated game servers.
C#
4
star
16

Dox2Word

Doxygen to Word generator
C#
3
star
17

Guarddog

Abondoned code
C#
2
star
18

casset

Asset management library (in ruby) for Sinatra. Support minifying, grouping, and other cool stuff.
Ruby
1
star
19

sinatra-menu-maker

Simple, personal menu maker for Sinatra
Ruby
1
star
20

rack-multisite

Allows one rack server to serve multiple sites. Sites shut down after a period of non-use, and can be reloaded easily.
Ruby
1
star
21

c-name-style

Python
1
star
22

sinatra-shell

Personal perferred shell for Sinatra applications
Ruby
1
star