4
我正在Xamarin.forms跨平臺中編寫應用程序。 該應用程序中有幾個條目,我想創建/更改邊框顏色爲紅色。 有沒有簡單的方法來做到這一點?或有任何方式存在?如何在Xamarin.Forms中更改條目的邊框顏色
我正在Xamarin.forms跨平臺中編寫應用程序。 該應用程序中有幾個條目,我想創建/更改邊框顏色爲紅色。 有沒有簡單的方法來做到這一點?或有任何方式存在?如何在Xamarin.Forms中更改條目的邊框顏色
我想你只能用CustomRenderer實現這一目標:
的iOS:
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
Control.Layer.BorderColor = UIColor.Red.CGColor;
Control.Layer.BorderWidth = 1;
}
在Android上,我認爲it's可能沒有CustomRender(實際上,如果是我...不知道怎麼〜不好意思):
使用CustomRenderer會是這樣的:
[assembly: ExportRenderer(typeof(Entry), typeof(SuperEntryRenderer))]
namespace Bla{
public class SuperEntryRenderer : EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (e.OldElement == null)
{
var nativeEditText = (global::Android.Widget.EditText)Control;
var shape = new ShapeDrawable(new Android.Graphics.Drawables.Shapes.RectShape());
shape.Paint.Color = Xamarin.Forms.Color.Red.ToAndroid();
shape.Paint.SetStyle(Paint.Style.Stroke);
nativeEditText.Background = shape;
}
}
}
臨屋對你來說,這對於那些只是鑽研自定義渲染器的人來說是非常有幫助的。 我很驚訝需要做多少才能改變android上的邊框顏色。 – DisplayName