xamarin/Xamarin.Forms

[UWP] Skipping setting "default values" for element properties in renderers is problematic

Aberta

#4.312 aberto em 5 de nov. de 2018

 (1 comentário) (0 reação) (0 responsável)C# (1.926 forks)batch import
e/6 :clock6:help wantedinactivep/UWPt/bug :bug:up-for-grabs

Métricas do repositório

Stars
 (5.644 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

https://github.com/xamarin/Xamarin.Forms/blob/ee91ac443941133a9163c62787d831ad16aaa156/Xamarin.Forms.Platform.UAP/ButtonRenderer.cs#L58

Is checking of default values really necessary in renderers?:

If ... Element.Padding != Button.PaddingProperty.DefaultValue ... UpdatePadding();

The default padding value for a Xamarin button is (0,0,0,0), while the default padding for a UWP button is (8,4,8,4). (https://msdn.microsoft.com/en-us/library/windows/apps/mt299109.aspx)

This means that if I set padding (0,0,0,0) on a Xamarin button, and I really want it to be (0,0,0,0) on UWP, the renderer will skip setting the padding property. And my UWP button will have a (8,4,8,4) padding, which is not my intent!

Does checking and skipping default property values in renderers have any meaningful purpose? It seems to me that it creates more problems than it solves.

Guia do colaborador