我为某些控件(Button
,Picker
,Label
)提供了自定义渲染器,并且在自定义渲染器中设置了一些常用属性,在某些情况下,我想要设置不同的属性,这些属性是我从XAML设置的。但是,由于有自定义渲染器,因此XAML中设置的属性将被覆盖。如果这些属性是从XAML设置的,并且可以避免常见的行为,是否有任何方法可以检查自定义渲染器?
答案 0 :(得分:2)
您可以在相应的可绑定属性上使用DefaultValue
属性添加支票。
例如,以下代码仅在未以XAML,样式或绑定设置控件上的BackgroundColor
属性的情况下才分配新值。
if(Element is Label lbl)
{
if(lbl.BackgroundColor.Equals(Label.BackgroundColorProperty.DefaultValue))
{
lbl.BackgroundColor = newValue;
}
}