CS0117 C#'资源'不包含' Drawable'的定义

时间:2016-09-16 13:26:57

标签: c# android xamarin xamarin.android xamarin.forms

在我最终设法设置自定义渲染器后,我想改变应用程序中每个按钮的形状。听起来很简单,是吗?

设定:

Xamarin.Forms版本2.3.2.127

Xamarin.Android.Support。* Version 23.3.0

我的自定义渲染器:

var btn = this.Control as Android.Widget.Button;
btn.SetBackgroundResource(Resource.Drawable.arrow_button);

当我尝试构建&部署它,错误列表给我以下错误:

CS0117  C# 'Resource' does not contain a definition for 'Drawable'

如何解决此错误?

干杯!

3 个答案:

答案 0 :(得分:2)

您使用的是错误的资源名称空间。我不得不在我的项目中使用Droid.Resource:

btn.SetBackgroundResource(Droid.Resource.Drawable.arrow_button);

否则Xamarin不知道您的意思是哪个资源,所以您必须明确命名。

答案 1 :(得分:1)

当这个表面出现时我通常会做什么......

  • [右键] droid项目
  • open' application'标签
  • 将min android设置为android 4.4 / api19
  • 点击[x]关闭android清单
  • [右键] droid项目
  • [单击]在文件资源管理器中打开文件夹
  • 删除" bin"和" obj"目录
  • 重建PCL
  • 重建Droid
祝你好运。希利在坦帕。

答案 2 :(得分:0)

我遇到了类似的错误。 可能是你错过了

using Android.Graphics.Drawables;

并确保您的可绘制对象为 png 格式,因为 jpg-s 不起作用。 如果这没有帮助,我会删除我的答案