A Xamarin.Forms wrapper control enabling custom drawing and complex controls without custom renderers.
NControl is a Xamarin.Forms wrapper control built around the NGraphics library, enabling developers to create custom controls with cross-platform drawing capabilities. It eliminates the need for custom renderers, simplifying the development of visually rich and interactive UI components for mobile and desktop apps. The library provides the NControlView class for custom drawing and composite control creation.
Xamarin.Forms developers building mobile and desktop applications who need to create custom, visually rich UI components without writing platform-specific renderers. It is particularly useful for those seeking to implement custom graphics, interactive controls, or complex composite elements in a cross-platform manner.
Developers choose NControl because it leverages the NGraphics library for consistent cross-platform drawing, removing the complexity and maintenance overhead of custom renderers. Its integration with Xamarin.Forms allows for seamless creation of interactive and animated controls while supporting touch events and dynamic updates through invalidation.
Simple Xamarin.Forms wrapper control around the NGraphics library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages the NGraphics library for consistent drawing across all supported platforms, eliminating the need for platform-specific custom renderers and reducing code complexity.
Supports touch events for building responsive controls, as demonstrated in the CircularButtonControl example, enabling custom interactive UI elements.
Inherits from ContentView, allowing easy embedding of other Xamarin.Forms elements to create complex composite controls, as shown in the MyControl subclass example.
Provides an Invalidate() method to trigger redraws when properties change, facilitating dynamic updates and animations, evident in the ProgressControl demo.
Requires calling NControlViewRenderer.Init() in each platform's startup code (e.g., AppDelegate and MainActivity), adding setup complexity beyond standard Xamarin.Forms.
Only supports Android, iOS, Windows Phone, and Windows Store; may not be compatible with newer platforms like .NET MAUI without significant updates or forks.
Relies entirely on the NGraphics library for drawing, so any limitations, bugs, or performance issues in NGraphics directly impact NControl's functionality and reliability.