【发布时间】:2016-12-31 07:23:02
【问题描述】:
我正在开发一个简单的 Xamarin.Forms 应用,并为 Android 和 UWP 创建了自定义条目渲染器。
我已经成功地将我自己的自定义样式应用到了 Entry 渲染器,如下所示:
-
对于 UWP
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) { base.OnElementChanged(e); var customControl = e.NewElement; var nativeControl = new FormsTextBox(); var style = Windows.UI.Xaml.Application.Current.Resources["UserNameEntry"] as Windows.UI.Xaml.Style; nativeControl.Style = style; nativeControl.PlaceholderText = customControl.Placeholder; SetNativeControl(nativeControl); } -
适用于安卓
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) { base.OnElementChanged(e); if (e.OldElement == null) { var nativeEditText = (global::Android.Widget.EditText)Control; nativeEditText.SetBackground(Resources.GetDrawable("@drawable/username")); } }
因此,使用 Android 和 UWP 平台的原生样式工具应用任何自定义样式非常简单。
我的问题是,有什么方法可以在 iOS 上做同样的事情吗?如何使用基于描述的文件应用样式,例如 UWP 中的 style.xaml 或 Android 中的 style.axml?
【问题讨论】:
标签: xamarin xamarin.ios xamarin.android xamarin.forms