Comme l'a dit Digitalsa1nt, Picker
n'ont PlaceholderText
propriété. Toutefois, vous pouvez ajouter cette propriété via 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); }
}
}
Mettre en oeuvre CustomPickerRenderer
dans votre projet client 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;
}
}
}
}
Utilisation
<local:CustomPicker PlaceHolder="Picker something" x:Name="picker"/>
Pickers n'ont pas type de fonctionnalité 'espace réservé', vous devez avoir un élément supplémentaire dans votre liaison source que vous pourriez différencier des autres éléments en vous r source en tant qu'index sélectionné par défaut. – Digitalsa1nt