說明
Xamarin.Forms不允許您設置的Picker.Title
顏色。
這不僅僅是一個Xamarin.Forms問題;這是iOS和Android做出的設計決定。選取器標題不是列表中的項目,並且不能由用戶選擇。 iOS和Android已經決定選擇器標題必須始終爲灰色,以向用戶指示列表中沒有項目已被選中。
解決
添加標題文本作爲第一項Picker.Items
。
然後,將初始Picker.SelectedIndex
設置爲0.默認情況下,當頁面加載時,這將在屏幕上顯示Picker.Items
(也就是我們的標題)中的第一項。
然後,將事件處理程序添加到Picker.SelectedIndex
以防止用戶選擇標題。它將檢查用戶是否選擇了Picker.Items
(又名我們的標題)中的第一項,並且如果true
自動將Picker.SelectedIndex
更改爲1
。
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);
}
}
}