【发布时间】:2017-01-24 08:29:09
【问题描述】:
我的 Droid-Project 中有以下课程:
using MyProject.Droid;
using Xamarin.Forms.Platform.Android;
[assembly: Xamarin.Forms.ExportRenderer(typeof(Android.Widget.Button), typeof(ArrowButtonRenderer))]
namespace MyProject.Droid
{
public class ArrowButtonRenderer : Xamarin.Forms.Platform.Android.ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.Button> e)
{
base.OnElementChanged(e);
var btn = this.Control as Android.Widget.Button;
btn.SetBackgroundColor(global::Android.Graphics.Color.Green);
}
}
}
我知道,您不需要自定义渲染器来更改按钮的颜色,但我只是想尝试一下 :)
干杯!
编辑:这是关于如何将按钮添加到 UI 的代码:
MyStackLayout.Children.Add(new Button
{
Text = "My Button Text"
});
还有一些通过 xaml 的按钮:
<Button x:Name="btnIdk" Text="something" />
【问题讨论】:
-
尝试将此
typeof(Android.Widget.Button)更改为 Xamarin 表单按钮,因此typeof(Xamarin.Forms.Button) -
没用,按钮仍然是我的风格/主题的颜色:(
-
当你在那里放一个断点时,它会被击中吗?
-
本可以早点尝试的,抱歉...但是不,断点(在 base.OnElementChanged(e);)没有被击中:/
-
我必须在 Xamarin Portable 项目中添加更多内容吗?我正在通过 C# 添加按钮。
标签: button xamarin xamarin.forms custom-renderer