Xamarin的Telerik UI免费下载30天试用版

编辑器

RadDataForm提供了以下方法来替换默认的编辑器:

  • 无效RegisterEditor(字符串propertyName, EditorTypeeditorType):为具有特定名称的属性注册编辑器类型。
  • 无效RegisterEditor(类型propertyType, EditorTypeeditorType):为特定属性类型注册编辑器类型。

为属性名称注册的编辑器比为属性类型注册的编辑器具有更高的优先级。

编辑器类型

的值EditorType每个平台对枚举的解释不同,当缺少编辑器类型时,将使用最接近的类型。下表显示了类型映射:

编辑器类型 本地编辑 值类型
SliderEditor Android: DataFormSeekBarEditor
iOS: TKDataFormSliderEditor
UWP: SliderCustomEditor
浮动
PickerEditor Android: DataFormSpinnerEditor
iOS: TKDataFormPickerViewEditor
UWP: ListEditor
* *需要PropertyDataSourceProvider
TextEditor Android: DataFormTextEditor
iOS: TKDataFormTextFieldEditor
UWP: StringEditor
字符串
SegmentedEditor Android: DataFormSegmentedEditor
iOS: TKDataFormSegmentedEditor
UWP: SegmentedCustomEditor
* *需要PropertyDataSourceProvider
NumberPickerEditor Android: DataFormNumberPickerEditor
iOS: TKDataFormStepperEditor
UWP: NumericEditor
IntegerEditor Android: DataFormIntegerEditor
iOS: TKDataFormNumberEditor
UWP: * StringEditor
int
DecimalEditor Android: DataFormDecimalEditor
iOS: TKDataFormDecimalEditor
UWP: * StringEditor
CheckBoxEditor Android: DataFormCheckBoxEditor
iOS: * TKDataFormSwitchEditor
UWP: BooleanEditor
ToggleButtonEditor Android: DataFormToggleButtonEditor
iOS: * TKDataFormSwitchEditor
UWP: * BooleanEditor
保龄球
DateEditor Android: DataFormDateEditor
iOS: TKDataFormDatePickerEditor
UWP: DateEditor
DateTime
TimeEditor Android: DataFormTimeEditor
iOS: TKDataFormTimePickerEditor
UWP: TimeEditor
DateTime

*有些编辑器不支持所有本地平台。在这种情况下,我们使用最接近的代换。
**PropertyDataSourceProvider

有时你的属性类型与编辑器支持的类型不一样,例如当你想用NumberPicker编辑器编辑整数时。在这种情况下,你必须使用a转换器

下图显示了Android、iOS和UWP平台上不同编辑器的可视化效果。

DataForm编辑

事件

RadDataForm提供了以下与编辑器值相关的事件:

  • EditorValueChanged:更新DataForm编辑器的值时发生。的EditorValueChanged事件处理程序接收两个参数:
    • 类型为object的sender参数,但可以强制转换为RadDataForm类型。
    • 一个EditorValueChangedEventArgs对象,该对象具有对PropertyName(已编辑的DataForm Source属性)和新值的引用。

自定义编辑

如果上述为Xamarin提供的RadDataForm中的任何一个编辑器不适合实现特定的需求,则可以为每个平台创建一个自定义的本机编辑器。

通过自定义渲染器,您可以在Android、iOS和UWP上使用任何可用的编辑器,用于未暴露给Xamarin.Forms的本机DataForm控件。你可以在下面的链接中找到更多的信息:-Xamarin的数据形式。安卓系统编辑器-Xamarin的数据形式。iOS编辑

首先,您需要通过DataForm的RegisterEditor方法指定将使用自定义编辑器的属性:

dataForm。RegisterEditor(“性别”,EditorType.Custom);

注册自定义编辑器类型时,将在每个平台上调用特定的呈现器方法。您必须继承渲染器并覆盖特定的方法来设置自定义编辑器。

[assembly: ExportRenderer(typeof(RadDataForm), typeof(CustomRenderer))] CustomRenderer: DataFormRenderer{…]}

DataFormRenderer在每个平台上的工作方式不同-请参阅下面覆盖可用的特定方法。

安卓

Android DataFormRenderer可用的方法覆盖:

  • GetCustomEditorForProperty
  • GetCustomViewerForProperty
  • UpdateEditor
  • UpdateViewer

在Android上,如果属性是只读的,就会使用查看器。

你可以在Android上找到一个演示自定义编辑器的例子:Android中的自动补全编辑器

iOS

iOS DataFormRenderer可用的方法覆盖:

  • GetCustomEditorType
  • InitEditor
  • UpdateEditor

在iOS上,如果一个属性是只读的,编辑器将被禁用。

你可以在iOS上找到一个演示自定义编辑器的例子:iOS的电子邮件和密码编辑器

UWP

UWP DataFormRenderer可用的方法覆盖:

  • GetCustomEditorType
  • UpdateEditor

另请参阅

在本文中
Baidu
map