MvvmBinder 1.0.0.4
dotnet add package MvvmBinder --version 1.0.0.4
NuGet\Install-Package MvvmBinder -Version 1.0.0.4
<PackageReference Include="MvvmBinder" Version="1.0.0.4" />
paket add MvvmBinder --version 1.0.0.4
#r "nuget: MvvmBinder, 1.0.0.4"
// Install MvvmBinder as a Cake Addin #addin nuget:?package=MvvmBinder&version=1.0.0.4 // Install MvvmBinder as a Cake Tool #tool nuget:?package=MvvmBinder&version=1.0.0.4
MvvmBinder
Collection of MVVM helper classes for any application.
Build Status:
NuGets Name Info MvvmBinder NuGet Development Feed MyGet What's included?
I wanted to keep this library really small and just created it for myself, but I hope others find it useful. Here is what I added in and feel free to request new things in the Issues tab. ObservableObject
Simple implementation of INotifyPropertyChanged that any class can inherit from.
/// <summary> /// Sets the property. /// </summary> /// <returns><c>true</c>, if property was set, <c>false</c> otherwise.</returns> /// <param name="backingStore">Backing store.</param> /// <param name="value">Value.</param> /// <param name="propertyName">Property name.</param> /// <param name="onChanged">On changed.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> protected bool SetProperty<T>( ref T backingStore, T value, [CallerMemberName]string propertyName = "", Action onChanged = null)
// <summary> /// Raises the property changed event. /// </summary> /// <param name="propertyName">Property name.</param> protected void OnPropertyChanged([CallerMemberName]string propertyName = "")
#ViewModelBase Your base view model! It implements INotifyPropertyChanged and a bunch of default properties such as Title, SubTitle, Icon, IsBusy, IsNotBusy, CanLoadMore. Grouping
Best way to group items into a Key/Value pair ObservableCollection for managing groups of data. See my blog post: Enhancing Xamarin.Forms ListView with Grouping Headers ObservableRangeCollection
A super awesome ObservableCollection that adds important methods such as: AddRange, RemoveRange, Replace, and ReplaceRange. Utils
Any and all extension methods that are nifty. Here are the current ones:
/// <summary> /// Task extension to add a timeout. /// </summary> /// <returns>The task with timeout.</returns> /// <param name="task">Task.</param> /// <param name="durationMilliseconds">Duration in Milliseconds.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> public async static Task<T> WithTimeout<T>(this Task<T> task, int durationMilliseconds)
Want To Support This Project?
All I have ever asked is to be active by submitting bugs, features, and sending those pull requests down! Want to go further? Make sure to subscribe to my weekly development podcast Merge Conflict, where I talk all about awesome Xamarin goodies and you can optionally support the show by becoming a supporter on Patreon.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 0.0
- No dependencies.
-
.NETPlatform 5.0
- No dependencies.
-
.NETStandard 2.0
- NETStandard.Library (>= 2.0.3)
-
MonoAndroid 0.0
- No dependencies.
-
MonoAndroid 1.0
- No dependencies.
-
MonoAndroid 8.0
- No dependencies.
-
Portable Class Library (.NETFramework 4.5, Windows 8.0, WindowsPhone 8.0, WindowsPhoneApp 8.1)
- No dependencies.
-
UAP 0.0
- No dependencies.
-
Windows 0.0
- No dependencies.
-
WindowsPhone 0.0
- No dependencies.
-
WindowsPhoneApp 0.0
- No dependencies.
-
Xamarin.iOS 1.0
- No dependencies.
-
Xamarin.Mac 2.0
- No dependencies.
-
Xamarin.TVOS 0.0
- No dependencies.
-
Xamarin.WatchOS 0.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
MvvmBinder supports Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Universal Windows Platform (UWP) and Windows Presentation Framework (WPF).