Home

Awesome

Support

Support for Xamarin Community Toolkit ended on May 1, 2024 following the official Xamarin products and the Xamarin Support Policy:

Xamarin support ended on May 1, 2024 for all Xamarin SDKs including Xamarin.Forms. Xamarin.Forms was succeeded by .NET MAUI (which includes Essentials), in May 2022 as part of .NET 6, and is currently supported as described on the .NET MAUI Support Policy. Follow the official upgrade guidance to bring your Xamarin applications to the latest version of .NET.

As part of the transition to .NET MAUI, there is now the .NET MAUI Community Toolkit that is the successor to the Xamarin Community Toolkit, this project. We have been hard at work on the .NET MAUI Community Toolkit for years alongside this Xamarin version to make sure that you have everything you need to make the switch to .NET MAUI successful.

To all our developers and contributors, thank you so much for being a part of our Xamarin community. We'll see you all over in .NET MAUI Community Toolkit!

About Xamarin Community Toolkit

<img src="https://raw.githubusercontent.com/dotnet-foundation/swag/master/logo/dotnetfoundation_v4.svg" alt=".NET Foundation" width=100>

<img src="assets/XamarinCommunityToolkit_128x128.png" width="64" /> Xamarin Community Toolkit

The Xamarin Community Toolkit is a collection of common elements for mobile development with Xamarin.Forms that people tend to replicate across multiple apps. It simplifies and demonstrates common developer tasks when building apps with Xamarin.Forms.

Support Timeline

More information on the support timeline for the Xamarin Community Toolkit can be found on our wiki.

Build Status

If you like to live dangerously, you can use our nightly feed to try out the latest and greatest.

Build ServerTypePlatformStatus
Azure DevOpsBuildWindows & MacBuild Status

Sample App

Browsing the sample app is the best place to start exploring what's available today.

Installation

The Toolkit is available via NuGet, and should be installed into all of your projects (shared and individual platforms):

Browse with the NuGet manager in your IDE to install them or run this command:

Install-Package Xamarin.CommunityToolkit

Note that the C# Markup Extensions are in a separate package, install that with:

Install-Package Xamarin.CommunityToolkit.Markup

Getting Started

After installation, start using the features you're after.

If you're using XAML, you can add this namespace to your root node to get access to all the goodness the Toolkit has to offer without having to add all kinds of namespaces seperately: xmlns:xct="http://xamarin.com/schemas/2020/toolkit". I.e.:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
xmlns:xct="http://xamarin.com/schemas/2020/toolkit">

<xct:AvatarView />

<!-- The rest of your page here -->

</ContentPage>

Documentation

The documentation is still under construction, but we've published the most important things over at Microsoft Docs.

If you want to contribute some of the missing bits you can do this over at the official Docs repo as contributions are very much welcomed!

Contributions welcome!

If you have one or more of these common pieces of code that you are always replicating across apps, don't hesitate to contribute! We aim to be the first NuGet package you install when creating a new Xamarin.Forms app!

Please have a look at our contribution guide before you get started, as well as some information on the wiki. Also take note of the Code of Conduct we adhere to.

Project Structure

To structure our project, we have adopted a range of namespaces. You can find them below with a short description of what you will find where. For simply consuming the Toolkit in XAML you can use our simplified namespace. See the Getting Started section above.

NamespaceDescription
Xamarin.CommunityToolkit.CoreCore objects that do not fit other namespaces and are used by multiple other components
Xamarin.CommunityToolkit.BehaviorsExtended behaviors for the Xamarin.Forms components
Xamarin.CommunityToolkit.ConvertersXAML converters, used to converted your data binding data into something your XAML understands
Xamarin.CommunityToolkit.EffectsEffects to apply light-weight renderer changes to the Xamarin.Forms renderers
Xamarin.CommunityToolkit.ExtensionsXAML Markup Extensions to make your XAML even more functional
Xamarin.CommunityToolkit.ObjectModelThings that have to do with your models and objects. Probably handy for your MVVM needs
Xamarin.CommunityToolkit.UI.ViewsControls such as TabView, etc.
Xamarin.CommunityToolkit.SampleAppSample App where you can find all of the above for reference. Learn how to use them and see how it all looks
Xamarin.CommunityToolkit.UnitTestsThis is where our unit tests live. Please keep growing them!
Xamarin.CommunityToolkit.MarkupEverthing that has to do with writing your UI in C# code. Also known as C# Markup Extensions

Code of Conduct

As a part of the .NET Foundation, we have adopted the .NET Foundation Code of Conduct. Please familiarize yourself with that before participating with this repository. Thanks!

.NET Foundation

This project is supported by the .NET Foundation.