XamarinForms has a lot of issues when it comes to renderers. I mean, it works for the XamarinForms controls because the rendering process is very tightly coupled. Like for instance, Why would ever the Xamarin.Forms.Grid
translates to Windows.UI.XamlFrameworkElement
instead of Windows.UI.Xaml.Controls.Grid
. In the end this is why we uses XamarinForms. You write an agnostic code and it translates to it's very native images across all platforms. Not with a highly manipulating manner. I'm taking UWP as an example but if we spread this across all platforms, We will find that the Grid
Translates to View
in Android and UIView
in iOS. You simply take the agnostic types for representing a control on each platform and start stuffing it with a lot of properties that are NOT native.
For instance, In the grid renderer in UWP. Why would ever the background represented by a canvas behind the content of the grid. Why wouldn't be presented by a brush which IS a member of the Windows.UI.Xaml.Controls.Grid
. A lot of people use XamarinForms for the back-end sharing. And also a lot of people use XamarinForms for the UI sharing. And i use Xamarin Forms for both.
I started noticing the problem when i was creating an effect for applying an AcrylicBrush
This is an open discussion for what could be done in order to improve this