Xamarin Forms Labs is a open source project that aims to provide a powerful and cross platform set of controls and helpers tailored to work with Xamarin Forms.
Clone or download
Pull request Compare This branch is 1071 commits behind XLabs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Help
UnitTesting
samples
screenshots
src/Xamarin.Forms.Labs
.gitignore
LICENSE
README.md

README.md

Xamarin Forms Labs

Xamarin Forms Labs is a open source project that aims to provide a powerful and cross platform set of controls tailored to work with Xamarin Forms.

Call for action for all Xamarin Developers, embrace this project and share your controls and services with the community, add your own control to the toolkit.

Available controls

Available services (Beta)

  • Accelerometer
  • Cache
  • Camera (Picture and Video picker, Take Picture, Take Video)
  • Device (battery info, device info, sensors, accelerometers)
  • Display
  • Geolocator
  • Phone Service (cellular network info, make phonecalls)
  • SoundService
  • Text To Speech

Available Mvvm helpers (Beta)

  • ViewModel (navigation, isbusy)
  • ViewFactory
  • IOC
  • IXFormsApp (application events)

Available Plugins (Beta)

  • Serialization (ServiceStackV3, ProtoBuf, JSON.Net)
  • Caching (SQLLiteSimpleCache)
  • Dependency Injection containers (TinyIOC, Autofac, NInject, SimpleInjector, Unity)
  • Web (RestClient)
  • Charting (Line, Bar & Pie) (Alpha)

HOW-TO

We are working in a great wiki on how to use the controls and services.

https://github.com/XForms/Xamarin-Forms-Labs/wiki

Xamarin Forms Labs Framework Helper

Xamarin Forms Labs Framework Helper for online use

Xamarin.Forms.Labs.chm file for offline use


Using the MVVM Helpers

ViewFactory Coming soon


Using the controls

Add Xamarin.Forms.Labs.Controls reference to your projects , main pcl, ios, android, and wp.

Xaml :

Reference the assembly namespace

 xmlns:controls="clr-namespace:Xamarin.Forms.Labs.Controls;assembly=Xamarin.Forms.Labs"

Render your control:

 <controls:ImageButton Text="Twitter" BackgroundColor="#01abdf" TextColor="#ffffff" HeightRequest="75" WidthRequest="175" Image="icon_twitter" Orientation="ImageToLeft"  ImageHeightRequest="50" ImageWidthRequest="50" />

Or from your codebehind:

var button = new ImageButton() {
			ImageHeightRequest = 50,
			ImageWidthRequest = 50,
			Orientation = Orientation.ImageToLeft,
			Source = "icon_twitter.png",
			Text = "Twitter"
		};
stacker.Children.Add (button);

Using the Services

TextToSpeechService

DependencyService.Get<ITextToSpeechService>().Speak(TextToSpeak);

Device

	var device = Resolver.Resolve<IDevice>();
	device.Display; //display information
	device.Battery; //battery information

PhoneService

 	var device = Resolver.Resolve<IDevice>();
	// not all devices have phone service, f.e. iPod and Android tablets
	// so we need to check if phone service is available
	if (device.PhoneService != null)
	{
		device.PhoneService.DialNumber("+1 (855) 926-2746");
	}

Nuget

Main Packages:

Plugins:

Caching

DI

Serialization

Cryptography


Build the project

To develop on this project, just clone the project to your computer, package restore is enable so build the solution first, if you get any errors try to build each project independently .


Screenshots

Coming soon..


Contribute

Everbody is welcome to contribute with any kind of controls or features at this time. Since there's no oficial releases feel free to submit your playground controls even if they aren't perfect.

Twitter hashtag : #xflabs


License

License Apache 2.0 more about that in the LICENSE file.


Contributions:

Other Project Contributions: Xamarin.Mobile