为什么我的自定义渲染器不工作?
Why is my custom renderer not working?
我的 Droid 项目中有以下 class:
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" />
经过广泛的交谈并查看了您的资源,我发现 PCL 安装了 Xamarin.Forms 的 2.3.1.114 版本。
您的 Droid 项目安装了版本 1。5.x,所以它要旧得多!
现在下一部分会很棘手,您需要为 Android 更新 Xamarin.Forms 包。但是,如果您先更新 Xamarin.Android.Support.* 包,您将收到一条错误消息,提示您无法更新 Xamarin.Forms,因为未找到匹配的 Forms 版本。
因为 Xamarin.Forms 对于 Android 在很大程度上取决于它们链接到特定版本的支持包,但它们并不总是同步的。截至目前,Xamarin.Forms 版本 (2.3.2.127) 似乎缺少相应的 Android 支持包。所以不要升级到那个,升级到与 PCL 相同的版本,即 2.3.1.114。然后 Android 软件包将更新到 23.3.0,一切都会正常运行。
我的 Droid 项目中有以下 class:
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" />
经过广泛的交谈并查看了您的资源,我发现 PCL 安装了 Xamarin.Forms 的 2.3.1.114 版本。
您的 Droid 项目安装了版本 1。5.x,所以它要旧得多!
现在下一部分会很棘手,您需要为 Android 更新 Xamarin.Forms 包。但是,如果您先更新 Xamarin.Android.Support.* 包,您将收到一条错误消息,提示您无法更新 Xamarin.Forms,因为未找到匹配的 Forms 版本。
因为 Xamarin.Forms 对于 Android 在很大程度上取决于它们链接到特定版本的支持包,但它们并不总是同步的。截至目前,Xamarin.Forms 版本 (2.3.2.127) 似乎缺少相应的 Android 支持包。所以不要升级到那个,升级到与 PCL 相同的版本,即 2.3.1.114。然后 Android 软件包将更新到 23.3.0,一切都会正常运行。