All Projects → Insire → MvvmScarletToolkit

Insire / MvvmScarletToolkit

Licence: MIT License
MvvmScarletToolkit is a personal project and framework to speed up the development process of xaml based applications using the viewmodel first approach

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to MvvmScarletToolkit

Mvvmcross
The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
Stars: ✭ 3,594 (+15526.09%)
Mutual labels:  wpf, mvvm, xamarin-forms
Camelotia
Cross-platform .NET sample GUI app for cloud file management. Built with ReactiveUI, AvaloniaUI, Universal Windows Platform, Xamarin Forms, and WPF, runs on Windows, Linux, Mac and Android.
Stars: ✭ 221 (+860.87%)
Mutual labels:  wpf, mvvm, xamarin-forms
Caliburn.micro
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Stars: ✭ 2,404 (+10352.17%)
Mutual labels:  wpf, mvvm, xamarin-forms
Prism
Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..
Stars: ✭ 4,842 (+20952.17%)
Mutual labels:  wpf, mvvm, xamarin-forms
Reactiveui
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
Stars: ✭ 6,709 (+29069.57%)
Mutual labels:  wpf, mvvm, xamarin-forms
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (+308.7%)
Mutual labels:  wpf, mvvm, xamarin-forms
Mvvmlight
The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
Stars: ✭ 973 (+4130.43%)
Mutual labels:  wpf, mvvm, xamarin-forms
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (+395.65%)
Mutual labels:  wpf, mvvm, xamarin-forms
Signalchat
WPF-MVVM instant messaging application using SignalR
Stars: ✭ 172 (+647.83%)
Mutual labels:  wpf, mvvm
Tumblthree
A Tumblr Backup Application
Stars: ✭ 211 (+817.39%)
Mutual labels:  wpf, mvvm
HandyWinGet
GUI for installing apps through WinGet and Creating Yaml file
Stars: ✭ 305 (+1226.09%)
Mutual labels:  wpf, mvvm
Microsoft.maui.graphics
Stars: ✭ 160 (+595.65%)
Mutual labels:  wpf, xamarin-forms
AT-NetCore-NotepadPlusPlus
Notepad++ Editor is one of the most important programs on any computer that everyone uses every day. The most popular and popular editor in Windows operating systems is Notepad, which is definitely familiar to everyone.
Stars: ✭ 42 (+82.61%)
Mutual labels:  wpf, mvvm-pattern
FriendEditor
A WPF sample app to demonstrate how to use MVVM design pattern and MVVMLight toolkit
Stars: ✭ 38 (+65.22%)
Mutual labels:  wpf, viewmodel
xamarin-forms-wpf-samples
Xamarin.Forms WPF Samples
Stars: ✭ 14 (-39.13%)
Mutual labels:  wpf, xamarin-forms
Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Stars: ✭ 220 (+856.52%)
Mutual labels:  wpf, mvvm
Mvvmvalidation
Lightweight library that helps reduce boilerplate when implementing validation in XAML MVVM applications
Stars: ✭ 141 (+513.04%)
Mutual labels:  wpf, mvvm
Steamtools
🛠「Steam++」是一个开源跨平台的多功能Steam工具箱。
Stars: ✭ 4,458 (+19282.61%)
Mutual labels:  wpf, mvvm
mvvmgen
MvvmGen is a lightweight MVVM library for XAML applications. It generates your ViewModels on-the-fly for you via a Roslyn-based C# Source Generator.
Stars: ✭ 179 (+678.26%)
Mutual labels:  wpf, xamarin-forms
EBind
🔵 .NET Data Binding we deserve: concise, fast, feature-rich
Stars: ✭ 141 (+513.04%)
Mutual labels:  wpf, xamarin-forms

MvvmScarletToolkit

License: MIT NuGet Build status CodeFactor codecov

MvvmScarletToolkit provides classes to speedup the MVVM development process for xaml-based applications using the viewmodel first approach.

Pre release nuget packages are available here and on github.

Features

  • MvvmScarletToolkit.Commands

    • fluent interface to build task based icommands
      • cancellation support
      • limiting command execution to one per instance at any given time
      • state management and notification
  • MvvmScarletToolkit.Observables

    • INotifyPropertyChanged base classes for single instance viewmodels and collection viewmodels
    • Localization ViewModels (switching language without app restart)
    • Threadsafe busy state notifications via IBusyStack interface
    • Helper viewmodels for
      • paging
      • enums
      • binding to structs and value types
      • basic versioning/change tracking
      • navigation
  • MvvmScarletToolkit.Wpf

    • BindingProxy
    • Features
      • Support for * Sizing in GridViews
      • Support for providing an explicit list of datatemplates for a datatemplate selector
      • Support for managing groupings from an ICollectionView
      • Support for loading a System.Drawing.Bitmap into a BitmapSource without copying its data
    • Attached Properties
      • Filter
        • binding ICollectionView.Filter
        • refresh ICollectionView on property change
      • Focus
        • set focus on window load
    • TriggerActions
      • ClearPasswordBoxAction
      • ClearTextBoxAction
    • Behaviors
      • MultiSelectionBehavior: bind MultiSelector.SelectedItems (for DataGrid)
      • MultiListBoxSelectionBehavior: bind ListBx.SelectedItems
      • SelectedTreeViewItemBehavior: bind SelectedItem for TreeView
      • PasswordBindingBehavior: bind PasswordBox.Password
      • WatermarkBehavior for TextBoxes
      • AutoRepositionPopupBehavior
      • LaunchNavigateUriAsNewProcessBehavior: Launch Hyperlink.NavigateUri in a new Process
      • ScrollSelectionIntoViewBehavior: scroll SelectedItem into View for DataGrid and ListBox
      • ScrollToEndCommandBehavior: execute a command, when a scrollviewer has been scrolled to its vertical or horizontal end
      • AutoScrollBehavior: auto scrolling for Selector (e.g. ListBox and DataGrid)
    • Controls
      • FileSystemBrowser
      • VirtualizingTilePanel
      • VirtualizingWrapPanel
    • (Multi-)Converters as Markupextension
      • ToCase (convert a string to a given casing)
      • SmallerThan (whether a bound number is smaller than the converter value)
      • GreaterThan (whether a bound number is larger than the converter value)
      • IsNot (negate a boolean)
      • IsNotNull (return whether something is not null)
      • IsNotNullOrEmpty (return whether a string is not null or empty)
      • IsNotNullOrWhiteSpace (return whether a string is not null or whitespace)
      • IsNull (return whether something is null)
      • IsNullOrEmpty (return whether a string is null or empty)
      • IsNullOrWhiteSpace (return whether a string is null or whitespace)
      • DebugConverter (log bound values and value changes to the Debug.Listener)
      • InvertBooleanToVisibilityConverter (negate a boolean to visibility)
      • RadioButtonCheckedConverter (compares the bound value to the argument and returns whether they are equal)
      • MultiBooleanAndConverter (combines all conditions with logical and)
    • MarkupExtensions
      • ConverterMarkupExtension
      • MultiConverterMarkupExtension
      • EnumBindingSourceExtension (create an itemsource from an enum type)
      • StartProcessExtension (let the OS open an uri)
    • Extensions
      • DependencyObjectExtensions
  • MvvmScarletToolkit.Xamarin.Forms

    • BindingProxy
    • Converters:
      • IsNot (negate a boolean)
      • IsNotNull (return whether something is not null)
      • IsNotNullOrEmpty (return whether a string is not null or empty)
      • IsNotNullOrWhiteSpace (return whether a string is not null or whitespace)
      • IsNull (return whether something is null)
      • IsNullOrEmpty (return whether a string is null or empty)
      • IsNullOrWhiteSpace (return whether a string is null or whitespace)
    • MarkupExtension
      • ColorToHexExtension
    • Behaviors
      • BehaviorBase (provides the currently associated control that also forwwards updates to the bindingcontext as it changes on the control)
      • EventToCommandBehavior
  • MvvmScarletToolkit.Abstractions

    • EnumerableExtensions
    • ListExtensions
    • EnumExtensions
    • TypeExtensions
    • EventExtensions
  • MvvmScarletToolkit.Wpf.Samples (for WPF)

    • simple navigation
    • master detail view
    • async cancelable commands using ICommand
    • simple file/folder browser
    • barebones drag and drop example
    • an implementation of IProgress (e.g for a progressbar) to send any amount of updates without locking up the UI thread
    • stress test for rendering lots of charachters converted to geometry objects
    • a passwordbox with binding support
    • watermark support for textboxes (custom watermark style included)
    • easy grouping for bound datagrids
    • clear button for textboxes

Build Requirements

This library uses SDK-style project files, which means you are required to use Visual Studio 2019 or newer. Visual Studio will prompt you to install any missing components once you open the sln file.

For anyone not wishing to install that, they atleast need:

(This should be everything, but it's possible i missed something. So please tell me if that's the case.)

TODO

  • finalize basic FileSystemBrowser
  • add more tests
  • improve documentation
  • add a nice icon for this lib
  • add Contribution guidelines
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].