MyToolkit for .NET
MyToolkit is a set of .NET libraries containing lots of useful classes for various .NET platforms like UWP/WinRT (Universal Windows Apps), Windows Phone and WPF. The goal is to provide missing or replace existing classes to support the development of high-quality Windows and Windows Phone applications. For example, the library provides often used MVVM infrastructure classes, missing UI controls, IoC classes, additional LINQ extension methods and much more.
Available classes and components
- MVVM classes (RelayCommand, ViewModelBase, ObservableObject, Messenger) in portable class library
- Networking classes: HTTP with GZIP support, WakeOnLan
- XAML controls and converters, e.g. MtPivot, DataGrid for WinRT/UWP and Hamburger for UWP
- Improved paging classes for Universal Windows Apps (UWP), Windows Phone and Windows 8 apps
- Additional collections like ObservableDictionary, MtObservableCollection or ObservableCollectionView
- And much more...
(This project has originally been hosted on CodePlex)
If you found some bugs or have other comments, please create a Pull Request or GitHub issue. The library is free to use, but please put a link to this GitHub site in the source code or your application.
The project is maintained and developed by Rico Suter and other contributors.
Installation
Using NuGet (recommended)
The MyToolkit project is separated into the following packages:
- MyToolkit (PCL): MVVM classes, collections, everything which can be portable...
- MyToolkit.Extended (UWP/WinRT/WP7/WP8/SL4/SL5/.Net4.5/(.NET4)): UI (e.g. controls) and framework dependent classes (e.g. Wake-On-Lan class). Don't use this assembly in Windows Phone background agents as some classes are not allowed in these projects. The YouTube classes can be found in this package...
- MyToolkit.Http (PCL): Portable HTTP classes with GZIP and file upload support.
- MyToolkit.Web (.NET4.5): .NET classes for Web/Server projects.
- MyToolkit.AspNet.Mvc (.NET4.5): .NET classes for ASP.NET MVC projects.
Using template project
Not available yet.
Using ZIP download
Download the assemblies as ZIP file here.
Visual Studio solutions
The solutions can be found in the src
directory:
MyToolkit.VS2015.sln
- MyToolkit (PCL: UWP, W8, WP8.1, .NET 4.5, WP8SL)
- MyToolkit.AspNet.Mvc (ASP.NET MVC 5.x)
- MyToolkit.Extended (Shared Project)
- MyToolkit.Extended.Uwp (Universal Windows Platform: Windows 10, Windows 10 Mobile)
- MyToolkit.Extended.WinRT (PCL: W8.1, WP8.1)
- MyToolkit.Extended.Wp8 (WP8SL)
- MyToolkit.Extended.Wpf40 (.NET 4.0)
- MyToolkit.Extended.Wpf45 (.NET 4.5)
- MyToolkit.Extended.Http (PCL)
- MyToolkit.Extended.MachineLearning.WinRT (PCL: W8.1, WP8.1)
- MyToolkit.Web (.NET 4.5)
MyToolkit.VS2012.sln
- MyToolkit.Extended.Sl5 (Silverlight 5)
- MyToolkit.Extended.Wp7 (WP7SL)
- MyToolkit.Http.Legacy (PCL: SL4, WP7SL, .NET 4)
- MyToolkit.Legacy (PCL: SL4, WP7SL, .NET 4)
Supported frameworks:
Also check out the list with the Visual Studio projects and their dependencies.
Sample applications
There is a sample application for Windows Phone and WinRT which demonstrates various MyToolkit classes (MVVM, Paging, YouTube, etc...) as well as some Windows 8 features.
Clone or download the source code, open the MyToolkit.VS2015.sln and start the SampleUwpApp (Windows 10) or SampleWindowsStoreApp (Windows 8.1) application.
How to build the library
- MyToolkit.Extended.Wp7
- MyToolkit.Extended.Wp8
- You need the Windows Phone 8.0 SDK to build a Windows Phone 7 or 8 Silverlight project:
- https://www.microsoft.com/en-us/download/confirmation.aspx?id=35471
- MyToolkit
- Code Contracts Visual Studio extension:
- https://visualstudiogallery.msdn.microsoft.com/1ec7db13-3363-46c9-851f-1ce455f66970
Projects which use MyToolkit libraries
List with some sample projects which use the MyToolkit libraries:
Donate
MyToolkit is a free project that is developed in spare time. You can show your appreciation for MyToolkit and support future development by donating.