默认情况下,如何使用自定义渲染器设置开关的颜色?

时间:2018-07-07 16:09:48

标签: xamarin xamarin.forms

我目前有这个自定义渲染器,可以根据参数设置开关的颜色。

Select
  Count(DATE_FORMAT(calls.call_datetime, "%Y-%m-%d")) as `groupdate`
from
  calls
WHERE calls.job_id =1
group by DATE_FORMAT(calls.call_datetime,
"%Y-%m-%d")

我想修改它,所以不需要指定诸如OnColor =“ Red”的参数。这样就不会发生OnElementChanged事件

有人可以建议我如何使用渲染器中的代码而不是iOS中XML的参数行将OnColor设置为红色吗?

还有其他可以覆盖的事件吗?

1 个答案:

答案 0 :(得分:1)

如果您现在将项目中的Xamarin Forms版本(到3.1)升级为可绑定属性:

 <Switch OnColor="Red" />

您也可以修改渲染器并设置颜色,而不管绑定如何:

 Control.OnTintColor = UIColor.FromRGB (204, 153, 255);

或者,在AppDelegate中,将其应用于所有开关:

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{

  // switch
    UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
    // required Xamarin.Forms code
    Forms.Init ();
    LoadApplication (new App ());
    return base.FinishedLaunching (app, options);
}