azzlack / acrmvvmcross

Several MvvmCross plugins that I have used on a few projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ACR MvvmCross Plugins

I loved Stuart Lodge's MvvmCross, so I built several services on it that I've used on a few projects with great success.

  • All plugins will be available through nuget
  • WinStore & WinPhone platform plugins are in the works

##User Dialogs Allows for messagebox style dialogs

  • Action Sheet (multiple choice menu)
  • Alert
  • Prompt
  • Confirm
  • Loading
  • Progress
  • Toast

#Powered By:

  • Android - Progress/Loading uses AndHUD
  • iOS - Progress/Loading uses BTProgressHUD
  • WinPhone - All dialogs by Coding4Fun Toolkit

##Bar Code Scanner Powered by Redth's ZXing.Net.Mobile

new MvxCommand(async () => {
    var scan = Mvx.Resolve<IBarCodeScanner>();
    var r = await scan.Read(flashlightText: "Turn on flashlight", cancelText: "Cancel");

    Result = (r.Success 
        ? String.Format("Barcode Result - Format: {0} - Code: {1}", r.Format, r.Code)
        : "Cancelled barcode scan"
    );
});

##Network I needed something beyond what MvvmCross had out of the box. I had a requirement for detecting network state changes so that we could inform the user when they were working in an offline state.

  • INetworkService subscribes to INotifyPropertyChanged and monitors the device network status
  • You can also use MvxMessenger to subscribe to NetworkStatusChangedMessage to watch for changes outside of your view model

##Settings A simple settings library that works differently than the traditional setting plugins out there. Instead, my approach was to work with an observable dictionary.

##Device Info Allows you to get the information of the device for auditing purposes

  • Device Manufacturer
  • Operating System and Version
  • Front and rear facing cameras
  • Screen Resolution

##Signature Pad for iOS and Android (Windows Phone 8 support coming soon) Call for a signature pad dialog in 1 line of xplat code from a view model!

signatureService.RequestSignature(result => {
	if (result.Cancelled)
		return;

	// use the image stream to write to file or serialize the draw points
	// result.Stream or result.Points
});


signatureService.LoadSignature(drawPoints);

#Configuration

signatureService.DefaultConfiguration.ClearText = "Why clear?";

or pass overridden configuration to each method:

signatureService.RequestSignature(callback, new SignaturePadConfiguration {
	SaveText = "Signed!",
	CancelText = "No way!",
	PromptText = "Right here"
});

About

Several MvvmCross plugins that I have used on a few projects

License:Microsoft Public License


Languages

Language:C# 97.9%Language:Puppet 1.1%Language:HTML 0.8%Language:Shell 0.2%