xamarin/Xamarin.Forms

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

开放

#4,312 创建于 2018年11月5日

 (1 条评论) (0 个反应) (0 位负责人)C# (1,926 个派生)batch import
e/6 :clock6:help wantedinactivep/UWPt/bug :bug:up-for-grabs

仓库指标

星标
 (5,644 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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.

贡献者指南