Understanding Native Image Sizing in Xamarin Forms Apps

This post is about probably my least favorite part of mobile app development – figuring out and assembling all of the various images needed to build an application and publish it into the stores. Each platform has its own requirements for this, and often you will need to provide multiple resolution versions within each platform…

Wintellect Becomes Premier Xamarin Consulting Partner

It seems that all roads in software development today lead inevitably to mobile apps. Building apps that span multiple mobile platforms is no easy task, but Xamarin makes bridging those environments much easier. And so it’s with great pleasure we announce that Wintellect has become a Premier Xamarin Consulting Partner. Wintellect employs a dedicated team…

From Zero to Hero in Xamarin Forms in 53 Minutes

Looking for a fast way to get up to speed on Xamarin Forms? There are tons of learning resources out there, including a series of articles I published this spring, the first of which can be found here. But while some developers prefer learning by reading, others find video training the best learning medium. Which…

Lighting up Native Platform Features in Xamarin Forms – Part 2

In the previous post I implemented a custom attached property to be used in Xamarin Forms XAML when a built-in accessory view is desired on a table cell. In this follow-up we will continue and build out the iOS renderer that is responsible for actually enabling the feature in our running application. What about Android…

Lighting up Native Platform Features in Xamarin Forms – Part 1

In my last few posts I introduced a simple app that lets you browse the various built-in font variations supported by Xamarin Forms. If you recall, the application adopted a “stack navigation” design, which is quite common in mobile applications. However, there is one small flaw with our implementation so far – on the iOS…

Supercharging Xamarin Forms with Custom Renderers, Part 5

Making Xamarin Forms Richer with Custom Visual Elements The BoxView class is handy for drawing rectangles in a Xamarin Forms UI. On Windows Phone, a BoxView renders a Rectangle element. On iOS and Android, it paints a rectangle onto a graphics context and a canvas, respectively. But what about other graphics primitives such as ellipses…

Implementing John Conway’s Game of Life in Xamarin Forms

John Conway’s Game of Life, presented to the world in the October 1970 issue of Scientific American magazine, is one of the most popular computer simulations of all time. In it, you draw a pattern of cells in a 2-dimensional grid. Then you “evolve” the cells from one generation to the next. Whether a cell…

Supercharging Xamarin Forms with Custom Renderers, Part 4

If you’ve read the previous posts in this series, you’re aware that custom renderers are the keys that unlock the doors to advanced customizations in Xamarin Forms. In Part 1, I presented custom renderers for rounding the corners of and placing borders around Button controls. In Part 2, I used custom renderers to stylize the…

Supercharging Xamarin Forms with Custom Renderers, Part 3

One of the limitations of Xamarin Forms that frequently pains developers is the fact that the Label control supports text wrapping and text truncation, but it doesn’t support both at the same time. Specifically, Label’s LineBreakMode property can be set to LineBreakMode.WrapText to wrap text, or it can be set to LineBreakMode.TailTruncation to replace text…

Supercharging Xamarin Forms with Custom Renderers, Part 2

In Part 1 of this series, I introduced custom renderers in Xamarin Forms and presented a pair of custom renderers – one for Android, and one for Windows Phone – that extended the Xamarin Forms Button control to honor the BorderRadius, BorderWidth, and BorderColor properties on all platforms. In Part 2, we’ll use what we…

Supercharging Xamarin Forms with Custom Renderers, Part 1

Xamarin Forms includes an assortment of “views,” more commonly known as controls, to help you build cross-platform UIs using XAML. Each control has a default appearance, and each control exposes properties that allow you to customize its appearance. But what if you’re handed a set of UI requirements that can’t be achieved using those properties?…