在WP8.1中显示组合框的占位符文本颜色

本文关键字:占位符 文本 颜色 组合 WP8 显示 | 更新日期: 2023-09-27 18:27:30

我想问您应该如何在白色背景网格上显示组合框的占位符文本。

 <Grid Background="White">
    <ComboBox Name="CityCombobox"   BorderThickness="0"  Grid.Column="1" PlaceholderText="Select Item">
        <ComboBoxItem>Chandigarh</ComboBoxItem>
        <ComboBoxItem>Delhi</ComboBoxItem>
        <ComboBoxItem>Sirsa</ComboBoxItem>
    </ComboBox>
</Grid>

在WP8.1中显示组合框的占位符文本颜色

尝试使用此

            <ComboBox SelectionChanged="City_SelectionChanged" Name="CityCombobox" RequestedTheme="Light" BorderThickness="0" Tapped="CitySelection_Tapped" Grid.Column="1" PlaceholderText="Select City">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding City.city}" Style="{StaticResource PageTextStyle}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

这里请求的主题为控件设置灯光主题,即使在白色背景下也会显示占位符文本。希望能有所帮助。

很明显,因为您将背景设为白色,而占位符颜色也是白色(当手机背景颜色为黑色时),所以您无法看到占位符。你可以做的就是不将背景色设置为白色,因为Windows Phone的默认设置为黑色或白色,并确保占位符颜色可见。

否则,您将需要覆盖占位符的颜色。你可以用两种方法做到这一点。

  1. 全局:这将覆盖整个应用程序中占位符的所有颜色。你可以在你的app.xaml中这样做

<ResourceDictionary.ThemeDictionaries> <ResourceDictionary x:Key="Default"> <SolidColorBrush x:Key="TextBoxPlaceholderTextThemeBrush" Color="#ff000000" /> </ResourceDictionary> </ResourceDictionary.ThemeDictionaries>

  1. 替代对象的样式。当您在xaml中添加元素时。在设计器中右键单击它。在那里你可以选择复制样式。将其放入文档中。找到TextBoxPlaceholderTextThemeBrush并赋予它您的价值。然后将xaml中的元素赋予这种特定的样式