Xamarin表单-如果控件具有从XAML设置的属性,请从自定义呈现程序中进行检查
我有一些控件的自定义呈现器(Xamarin表单-如果控件具有从XAML设置的属性,请从自定义呈现程序中进行检查,xamarin,xamarin.forms,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.ios,我有一些控件的自定义呈现器(按钮,选择器,标签),还有一些常用属性,我在自定义呈现器中设置了这些属性,在某些情况下,我想设置不同的属性,这些属性是我从XAML中设置的。但是,由于自定义渲染器,XAML中设置的属性被覆盖。如果自定义渲染器的属性是从XAML设置的,为了避免常见行为,是否有办法签入这些渲染器?您可以在相应的可绑定属性上使用DefaultValue属性添加检查 例如,仅当控件上的BackgroundColor属性未在XAML、样式或绑定中设置时,以下代码才会指定新值 if(Elemen
按钮
,选择器
,标签
),还有一些常用属性,我在自定义呈现器中设置了这些属性,在某些情况下,我想设置不同的属性,这些属性是我从XAML中设置的。但是,由于自定义渲染器,XAML中设置的属性被覆盖。如果自定义渲染器的属性是从XAML设置的,为了避免常见行为,是否有办法签入这些渲染器?您可以在相应的可绑定属性上使用DefaultValue
属性添加检查
例如,仅当控件上的BackgroundColor
属性未在XAML、样式或绑定中设置时,以下代码才会指定新值
if(Element is Label lbl)
{
if(lbl.BackgroundColor.Equals(Label.BackgroundColorProperty.DefaultValue))
{
lbl.BackgroundColor = newValue;
}
}
您可以在相应的可绑定属性上使用
DefaultValue
属性添加检查
例如,仅当控件上的BackgroundColor
属性未在XAML、样式或绑定中设置时,以下代码才会指定新值
if(Element is Label lbl)
{
if(lbl.BackgroundColor.Equals(Label.BackgroundColorProperty.DefaultValue))
{
lbl.BackgroundColor = newValue;
}
}
谢谢这正是我想要的!谢谢这正是我想要的!