由于Digitalsa1nt表示,Picker
没有PlaceholderText
属性。但是,您可以通过custom renderer添加此属性。
CustomPicker.cs
public class CustomPicker : Picker
{
public static readonly BindableProperty PlaceHolderProperty = BindableProperty.Create(
propertyName: "PlaceHolder",
eturnType: typeof(string),
declaringType: typeof(CustomPicker),
defaultValue: default(string));
public string PlaceHolder
{
get { return (string)GetValue(PlaceHolderProperty); }
set { SetValue(PlaceHolderProperty, value); }
}
}
实现CustomPickerRenderer
在UWP客户端项目。
CustomPickerRenderer.cs
[assembly: ExportRenderer(typeof(CustomPicker), typeof(CustomPickerRenderer))]
namespace XamarinPickerDefaultValueTest.UWP
{
public class CustomPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
var element = Element as CustomPicker;
if (Control != null)
{
Control.PlaceholderText = element.PlaceHolder;
}
}
}
}
使用
<local:CustomPicker PlaceHolder="Picker something" x:Name="picker"/>
拾荒者没有任何形式的 '占位' 的功能,你就必须有一个您的源绑定中的额外项目可以与您中的其他项目区分开来r源作为默认选定索引。 – Digitalsa1nt