Introduction

Join us as we walk through new and updated features available in Xamarin.Forms 5 and take a peek at the Xamarin Community Toolkit library, noting where Xamarin.Forms 5 is a prerequisite for its elements.

With the last major release of Xamarin.Forms before .NET MAUI, Microsoft has finished development on controls and infrastructure items that have been in an experimental state for a while, and has made several bug fixes and general improvements. Plus, it reorganized some updated and new views in the Xamarin Community Toolkit.

Agenda

The Future of Xamarin.Forms

  • Xamarin.Forms 5.0: The last major update before .NET 6/MAUI ships.
  • Service releases only (bug fixes, issues to solve).
  • .NET 6 Preview 1 available.
  • Views promoted from experimental stage to RTM.
  • Views (MediaElement, Expander) moved into the Community Toolkit.
  • C# Markup moved to Xamarin Community Toolkit.
  • Xamarin Community Toolkit as a companion for new views.

Brushes

  • Paint views with solid colors, linear gradients, and radial gradients.
  • Derive from the Brush abstract class.
  • SolidColorBrush.
  • LinearGradientBrush.
  • RadialGradientBrush.

Shapes

  • Draw plain shapes.
  • Ellipse.
  • Rectangle.
  • Line.
  • Polygon.
  • Polyline.
  • Interaction via GestureRecognizers.

Tips about Shapes

  • Path
    • Draw curves and complex shapes.
    • Often based on Geometries.
  • Geometries
    • Describe the geometry of a 2D shape.
    • Derive from BindableObject, not from View.
    • Cannot be added to the visual hierarchy directly. Path.Data must be used.
    • More granular definition than shapes.
    • Additional polygons and curves that are not available in shapes.
    • Geometries documentation.

IndicatorView

  • Companion for the CarouselView.
  • Shows indicators when swiping items.
  • Color customization.
  • Easy binding to the CarouselView.

SwipeView

  • Create views that support swipe gestures.
  • Multiple actions, multiple directions.
  • Highly customizable.
  • Provides events and C# programmability.
  • SwipeView Sample.

Maps

  • Complete Maps control.
  • Requires the Xamarin.Forms.Maps NuGet package.
  • Can show traffic, points of interest, pins, directions.
  • Based on the system maps.
  • Maps Sample.

Xamarin Community Toolkit

Conclusion

This webinar covered some of the new updates that come with Xamarin.Forms 5. We hope you enjoyed this webinar and that you find it helpful in your future work with Xamarin! Please keep an eye out for our upcoming webinars on Xamarin.

Webinar Q&A

Does camera view work on UWP?

Yes, it does.

Do the maps support navigation?

Yes, maps support specifying directions.

What about newer Huawei devices without Google services? The Maps control doesn’t work in those devices.

The answer might be that Xamarin.Forms does not target native Huawei OSes, but actually the number of supported platforms is a decision made by Microsoft. You could open an issue on the Maps repo on GitHub to ask for more details.

Which engines support Maps? Google? OpenStreetMap? Bing?

Maps work with the system maps, so Google Maps on Android and Apple Maps on iOS.

I think I saw a SwipeItem with an Entry field under a swipe right (on the page with the math examples). Is the SwipeItem completely customizable? Can I insert any control or custom control?

Correct. SwipeViewItems can contain layouts with nested views to create custom swipes.

Does a Microsoft MVVM framework come with packages for this version?

Not at the moment. The only MVVM framework Microsoft is involved with is Prism, but there’s no inclusion of these packages.

Can you do validation from Poco class attributes?

You could, but you should do most of the work manually. I recommend using Behaviors for front-end validation (as you saw in the demo) and attributes for server-side validation.

Does Xamarin.Forms support MacOS desktop applications?

MacOS support is still in preview, but you can follow this walkthrough provided in the official documentation.

What are the best ways to find out the visual states available for a particular control?

The official documentation for each view usually includes an explanation about visual states where supported.