Erklärung
Xamarin.Forms nicht zulässt, dass die Farbe von Picker.Title
einzustellen.
Dies ist nicht nur ein Xamarin.Forms-Problem; Es ist eine Designentscheidung, die von iOS und Android getroffen wurde. Der Auswahltitel ist kein Element in der Liste und kann vom Benutzer nicht ausgewählt werden. iOS und Android haben diktiert, dass der Titel des Auswahlfensters immer grau sein muss, um dem Benutzer anzuzeigen, dass kein Element in der Liste ausgewählt wurde.
Arbeit um
den Titeltext als erster Punkt in Picker.Items
hinzufügen.
Setzen Sie dann die anfängliche Picker.SelectedIndex
auf 0. Dies zeigt das erste Element in Picker.Items
(alias unser Titel) auf dem Bildschirm standardmäßig beim Laden der Seite.
Fügen Sie dann einen Ereignishandler zu Picker.SelectedIndex
hinzu, um zu verhindern, dass der Benutzer den Titel auswählt. Es wird überprüft, ob der Benutzer das erste Element in Picker.Items
(aka unser Titel) ausgewählt hat, und wenn true
automatisch Picker.SelectedIndex
zu 1
ändern.
using System;
using Xamarin.Forms;
namespace PickerTitleColor
{
public class App : Application
{
public App()
{
var picker = new Picker();
picker.Items.Add("Select an item");
picker.Items.Add("Item1");
picker.Items.Add("Item2");
picker.Items.Add("Item3");
picker.TextColor = Color.Red;
picker.SelectedIndex = 0;
picker.SelectedIndexChanged += (sender, e) =>
{
if (picker.SelectedIndex == 0)
picker.SelectedIndex = 1;
};
var content = new ContentPage
{
Title = "Custom Picker Title Color",
Content = picker
};
MainPage = new NavigationPage(content);
}
}
}