使用 xamarin 形式 (pcl)
创建选择器
<Picker x:Name="Branches"
TextColor="White" Title="Click to choose Branch"
Grid.Row="3" Grid.Column="1"
SelectedIndex="{Binding Branches}">
<Picker.Items>
<x:String>Id</x:String>
<x:String>Name</x:String>
</Picker.Items>
</Picker>
为什么是
TextColor
的Title
黑色甚至很难我在 XAML 中明确将其设置为白色?
最佳答案
更新:Xamarin.Forms v3.6
Xamarin.Forms v3.6 introduces Picker.TitleColor
.
现在可以设置选择器的 TitleColor
无需解决方法即可直接使用。
XAMLTitleColor="Red"
<Picker x:Name="Branches"
Title="Click to choose Branch"
TitleColor="Red"
TextColor="White"
Grid.Row="3"
Grid.Column="1"
SelectedIndex="{Binding Branches}">
<Picker.Items>
<x:String>Id</x:String>
<x:String>Name</x:String>
</Picker.Items>
</Picker>
代码myPicker.TitleColor = Color.Red
var myPicker = new Picker
{
TitleColor = Color.Red
};
解释
Xamarin.Forms 不允许您设置
Picker.Title
的颜色.解决
将标题文本添加为
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);
}
}
}
关于c# - 选择器标题颜色不可更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41937931/