Xamarin - CustomRenderer不呈现控件

时间:2016-04-28 12:38:15

标签: c# android xamarin

所以我为我的应用程序的Android部分制作了一个CustomRenderer。这个CustomRenderer位于MyProject.Droid中,它叫做CustomSwitchRenderer,显然是用于我正在使用的交换机。因此,当我尝试测试时,开关不会显示在我的页面中。它只是一个空白的标签页,里面有两个导航按钮。我发现这很奇怪,因为没有错误和警告被抛出。这就是我所拥有的:

页面:

        private  void Doelen() {
        pages.Add (new ContentPage {
            Title="Doelen",
            BackgroundImage="background.jpg",
            Content = new StackLayout {
                Padding = 15,
                BackgroundColor = Color.White,
                Opacity = 0.75,
                Children = {
                    new Label {
                        Text = subjects [2],
                        FontSize = 30,
                        HorizontalOptions = LayoutOptions.Center,
                        VerticalOptions = LayoutOptions.Start,
                        TextColor = Color.White
                    },
                    new Label {
                        Text = "Omzet:",
                        FontSize = 16
                    },
                    ckbOmzet,
                    ckbMarge,
                    ckbNieuwelant,
                    new StackLayout { HorizontalOptions = LayoutOptions.Center, Orientation = StackOrientation.Horizontal, Children = { navButtonPrev, navButtonNext } }
                }
            }
        });
    }

这就是我定义开关的方式:

private Switch ckbOmzet = new Switch();
private Switch ckbMarge = new Switch();
private Switch ckbNieuwelant = new Switch();

和当然,我的CustomSwitchRenderer类位于MyProject.Droid中:

[assembly:ExportRenderer(typeof(Switch), typeof(CustomSwitchRenderer))]
namespace MyProject.Droid
{
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(Android.Graphics.Color.Black);
        }

        this.SetNativeControl(Control);
    }
}
}

我看过多个线程,我仍然不知道我在这里做错了什么!有人可以告诉我这里我做错了吗?

编辑:

现在正在渲染控件,但TextOn和TextOff属性不起作用。

0 个答案:

没有答案