-
Notifications
You must be signed in to change notification settings - Fork 76
Home
Legend:
- all = Available for all platforms (PCL)
- SL = Silverlight 5
- WinRT = Windows 8.1 and Windows Phone 8.1 (PCL library for W8.1 and WP8.1 WinRT)
- UWP = Universal Windows Platform (Windows 10)
- WP7SL = Windows Phone 7 Silverlight
- WP8SL = Windows Phone 8 Silverlight
- WPF = .NET 4.5 (WPF)
- WP = WP7SL and WP8SL
Most popular: YouTube, Http, Paging, ObservableCollectionView, ...
Package: MyToolkit
View models
- ViewModelBase (all), view model base class which implements ObservableObject and provides a loading property and life cycle methods
- ViewModelHelper (all): Contains helper methods to correctly wire up view models to views or the Windows Phone progress bar.
Data modelling
- ObservableObject (all), INotifyPropertyChanged implementation to simplify observable model implementation
- GraphObservableObject (all), observable object with child tracking and property changed event with old and new value
- UndoRedoManager (all), transparent undo/redo implementation based on a graph of observable objects
Commands (ICommand implementations)
- RelayCommand (all), an ICommand implementation which takes an action and a predicate to run its logic
- AsyncRelayCommand (all), an ICommand implementation which takes a task returning function and a predicate to run its logic
- CommandBase (all), observable abstract ICommand base implementation
Messaging / messenger pattern
- Messenger (all), implementation of the messenger pattern to use with MVVM
- CallbackMessage (all), base message class with a result callback
- TextMessage (all)
The article "Recommendations and best practices for implementing MVVM and XAML/.NET applications" explains how to use the MVVM classes.
Package: MyToolkit
-
AlphaGroupCollection, groups multiple items into groups of their first letter of
ToString()
(used for the LongListSelector control) - BlockingQueue, thread safe blocking queue to use in a multi-threaded producer-consumer scenario
- ExtendedGroup
- MtObservableCollection (all), extended observable collection which exposes the PropertyChanged event and a AddRange method; the ExtendedCollectionChanged event provides always provides a correct list of added and removed items.
- Group
- ObservableCollectionView (all), wrapper for observable collections which provides a view on the collection with filtering and sorting
- ObservableDictionary
- ObservableCollectionObserver
- ObservableGroupCollection
- QueryObservableCollectionView (all), an observable collection view where you can provide a LINQ query for live sorting and filtering a collection
Package: MyToolkit
- CompositionContext, dependency injection container with support for property and constructor injection.
- ServiceLocator, service locator to access service implementations in a decoupled way.
Package: MyToolkit.Extended
Paging Overview: Improved frame and page classes for Universal and Windows Phone Silverlight apps.
Universal apps (W8.1, WP8.1 and UWP)
- MtApplication
- MtFrame
- MtPage
- MtSuspensionManager
- Also see HamburgerFrameFactory to use the Hamburger control with the MtFrame
Windows Phone Silverlight
- AnimatedPage (WP) Provides better page animations than the Windows Phone Toolkit
- ExtendedPage (WP, WinRT)
- BindableApplicationBar (WP), application bar with bindable properties
Package: MyToolkit.Http and MyToolkit.Extended Http (all),
- HTTP class with GZIP, POST FILE, POST form, authentication and timeout support.
- WakeOnLan (WP, WinRT), class to send Wake-On-Lan (WOL) magic packets to devices
- ClientBaseExtensions (WPF) used to authenticate an ASP.NET authenticated WCF service
Package: MyToolkit.Extended
- DatePicker (WinRT) (only functionality, not user friendly, need better control)
- DataGrid (WinRT)
-
ExtendedListPicker (WP), added
TypedSelectedItems
property which can be bound toObservableCollection<T>
not onlyObservableCollection<object>
- PivotExtensions (WP only): Attached property to disable the automatic margin on WP Pivot control.
- Hamburger (UWP only): A hamburger control
- HtmlView/ScrollableHtmlView (WP, WinRT): Render HTML with native controls for better performance then with a WebControl/WebView
- ImageButton (WinRT), has Content, ContentPressed and IsTiltEnabled properties. Use these Content properties to set the vectorized image (eg generated by Metro Studio).
- LongListSelector (WinRT): Native looking long list selector for Windows Phone (WinRT)
- MtGridView (WinRT): GridView with scrolling and scrolled to end event and other features
- MtListBox (WP, WinRT): ListBox with scrolling and scrolled to end event, InnerMargin, and other features
- MtPivot (WinRT)
- NativeLongListSelector (WP): Native looking/correctly styled LongListSelector which correctly works on WP7 and WP8.
- NavigationList (WP, WinRT): ListBox with navigation event (with navigation item parameter)
- PanAndZoomImage (WP)
- PanAndZoomViewer (WP)
- ScrollableItemsControl: Use this class instead of ListBox if you don't need support for selected item.
- TextButton (WinRT), shows an icon (specified by Segue UI character) and a header
- TimePicker (WinRT) (only functionality, not user friendly, need better control)
-
WatermarkedTextBox (SL, WP, WinRT):
TextBox
with watermark - YouTubeButton, see YouTube (WP, WinRT): Button with YouTube video preview and logic to play YouTube
Package: MyToolkit.Extended
- ChainedConverter
- ColorConverter (converts the object to string, color or brush)
- DateTimeConverter (parameters: dayAbbreviated, day, date, time, timeWithoutSeconds)
- EqualityConverter
- NotConverter
- NumberConverter (converts the object to the requested numeric type, bool to 0/1)
- TimeSpanConverter (parameters comma-seperated: days, plain, seconds)
- TruncateConverter (truncates string to maximum length in parameter)
- TypeVisibilityConverter (visible if type name in parameter matches with type of object)
- UpperTextConverter
- VisibilityConverter (visible if not null, list not empty, integer > 0, bool is true)
Package: MyToolkit.Extended
- VisibilityManger (WinRT), shows and hides XAML controls depending on the screen width (useful for Windows Store apps to support the various screen states, portrait, landscape, snapped, etc.)
- TextBinding (WP) provides an attached property to allow immediate updated text bindings to the TextBox and PasswordBox controls
-
Popups, helper classes to implement native looking popups in WP and WinRT
- ListPickerBox popup (WP, WinRT), shows a list to choose multiple items from
- InputBox popup (WP), shows a input prompt to enter a string
- TiltEffect (WinRT), tilt effect like in Windows Phone Toolkit for WinRT
Package: MyToolkit.Extended
- YouTube (WP, WinRT), play YouTube videos and get their MP4 links
Package: MyToolkit.Extended
- ImageHelper (WP, WinRT) Provides an attached Source property for the Image control with better performance and support for AuthenticatedUri (URI with basic authentication credentials)
Package: MyToolkit.Extended
Package: MyToolkit and MyToolkit.Extended
- DataContractSerialization (MyToolkit.Extended)
- XmlSerialization (MyToolkit)
Package: MyToolkit
Package: MyToolkit and MyToolkit.Extended
- ApplicationSettings (PCL but WinRT, WPF and WP only), simple class to access application settings.
- StorageApplicationSettings, class to access application settings which are stored in files and use the DataContractSerializer or XmlSerializer.
- FileUtilities (WinRT, WP), WriteAllText(Async) and ReadAllText(Async) methods
Package: MyToolkit (most) and MyToolkit.Extended
- EventUtilities
- SingleEvent (WP, SL, WinRT) register an event which is called only once and automatically deregistres itself (mainly used to register anonymous delegates)
- WeakEvent (WP, SL, WinRT) register weak events which are automatically deregistered if they are only referenced by callback target
Package: MyToolkit (most) and MyToolkit.Extended
- CodeContractExtensions, extension methods for checking method parameters with Code Contract support.
- ColorUtilities, mix two colors, remove alpha from color, ToHex/FromHex
- DependencyPropertyChangedEvent (WP, WinRT) register a property changed event on a dependecy property.
- EnumerableExtensions, OrderByThenBy, DistinctBy, IsCopyOf, Shuffle, TakeRandom, MinObject, MaxObject, MiddleElements (for LINQ to objects)
- StringExtensions, EscapeUriString, RemoveHtmlTags, RemoveHtmlLinks, RemoveHtmlWhitespaces, ConvertHtmlCharacters
- StreamExtensions (WinRT, WP), ReadToEnd and ReadToEndAsync extension methods with IProgress support
- ToastNotificationHelper (WinRT), shows a notification toast (enable capability in manifest)
Package: MyToolkit
In development...
Package: MyToolkit.AspNet.Mvc
- CollectionEditorExtensions: Extension methods to implement an edit form for an entity with a sortable child collection (read this article for more information).
- Bootstrap: Extension method to generate Bootstrap elements