Xamarin - 自定义开关无法正常工作

时间:2016-04-07 13:16:58

标签: c# android xamarin xamarin.forms

所以这是我第一次尝试创建自定义渲染器。我在这里关注了这个帖子:https://forums.xamarin.com/discussion/32264/how-can-i-change-switch-text-color-android。我看了第一个放置示例代码的人。我尝试将它与我自己的渲染器一起使用,但它出现以下错误:

  

类型或名称空间'控件'并不存在于' saleskicker'

这是我的代码:

using System;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;
using SalesKicker;

[assembly:ExportRenderer(typeof(SalesKicker.Controls.CustomSwitch), typeof(CustomSwitchRenderer))]

namespace SalesKicker
{
public class CustomSwitchRenderer : SwitchRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
    {
        base.OnElementChanged(e);
        if (Control != null)
        {
            Control.TextOn  = "AAN";
            Control.TextOff = "UIT";
            Control.SetTextColor(Color.White);
        }

        if (Control.Checked == true)
        {
            Control.SetBackgroundColor(Color.Green);
        }
    }
}
}

然而,当我在名为&#39; CustomRenderers&#39;的文件夹中安排课程时,错误并未显示出来。但我认为这不应该是一件大事。我在这做错了什么?有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

如果您只想更改颜色,则不需要CustomControl。然后,您可以使用自己的渲染器替换默认渲染器。

[assembly:ExportRenderer(typeof(Switch), typeof(CustomSwitchRenderer))]