A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Steven Kirk cb7862b72e Merge branch 'kekekeks-reactive-pcl' 11 years ago
docs Trying to fix capitalization of tests and docs AGAIN. 11 years ago
nuget Updated NuGet build. 11 years ago
samples Use ReactiveUI built via submodule 11 years ago
src Merge branch 'reactive-pcl' of https://github.com/kekekeks/Perspex into kekekeks-reactive-pcl 11 years ago
tests Refactor Setter into Setter and ObservableSetter. 11 years ago
.gitattributes Initial commit 12 years ago
.gitignore Updated NuGet build. 11 years ago
.gitmodules Use ReactiveUI built via submodule 11 years ago
Perspex.sln Use ReactiveUI built via submodule 11 years ago
Perspex.v2.ncrunchsolution Moved to more standard filesystem layout. 11 years ago
Settings.StyleCop Stylecop fixes. 11 years ago
appveyor.yml Do submodule update before build 11 years ago
licence.md Added licence.md 11 years ago
readme.md Broken link 11 years ago

readme.md

Perspex

![Gitter](https://badges.gitter.im/Join Chat.svg)

Build status

A multi-platform .NET UI framework.

Background

Perspex is a multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi-platform (more about that below). It supports XAML, lookless controls and a flexible styling system, and runs on Windows using Direct2D and other operating systems using Gtk & Cairo.

Current Status

Perspex is now in alpha. What does "alpha mean? Well, it means that it's now at a stage where you can have a play and hopefully create simple applications. There's now a Visual Studio Extension containing project and item templates that will help you get started, and there's an initial complement of controls. There's still a lot missing, and you will find bugs, and the API will change, but this represents the first time where we've made it somewhat easy to have a play and experiment with the framework.

Documentation

As mentioned above, Perspex is still in alpha and as such there's not much documentation yet. You can take a look at the alpha release announcement for an overview of how to get started but probably the best thing to do for now is to already know a little bit about WPF/Silverlight/UWP/XAML and ask questions in our Gitter room.

There's also a high-level architecture document that is currently a little bit out of date, and I've also started writing blog posts on Perspex at http://grokys.github.io/.

Contributions are always welcome!

Multi-platform you say?

Well, yes, that is the intention. However unfortunately as of the time of this first alpha, Perspex is only shipping with a Windows backend. There is a Gtk/Cairo backend that's working pretty well (at least on Windows) but it's not included in this release due to packaging issues. In addition, the framework did work on Linux at one point but with the recent Mono 4.0 something has gone wrong, and we need time to work out what that is. Getting Perspex working again on non-windows support is the next thing we'll be concentrating on. You can track the progress on Linux in the issue.

Building and Using

In order to build Perpex under Windows you need a compiler that supports C# 6 such as Visual Studio 2015. To compile the project under windows, you must have gtk-sharp installed. However, if you're not interested in building the cross-platform bits you can simply unload the Perspex.Cairo and Perspex.Gtk project in Visual Studio.

To build with mono (even though everything's not fully working as yet) check out the instructions here and the Linux issue.

Contributing

Please read the contribution guidelines before submitting a pull request.