所以这是我第一次尝试创建自定义渲染器。我在这里关注了这个帖子: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;的文件夹中安排课程时,错误并未显示出来。但我认为这不应该是一件大事。我在这做错了什么?有人可以帮助我吗?
答案 0 :(得分:2)
如果您只想更改颜色,则不需要CustomControl。然后,您可以使用自己的渲染器替换默认渲染器。
[assembly:ExportRenderer(typeof(Switch), typeof(CustomSwitchRenderer))]