我想在windows store app(XAML / C#)中更改组合框的占位符文本颜色
这是背后的代码:
List<string> orderType = new List<string>();
orderType.Add("ANS");
orderType.Add("DG");
orderType.Add("LAB");
orderType.Add("RAD");
ComboBox orderTypeComboBox = new ComboBox();
orderTypeComboBox.ItemsSource = orderType;
orderTypeComboBox.Header = "Order Type";
orderTypeComboBox.PlaceholderText = "Choose Order Type";
orderTypeComboBox.SelectionChanged += orderTypeComboBox_SelectionChanged;
占位符文本默认颜色为黑色,我希望它为白色。
这是我尝试过的(全局),但失败了:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Default">
<SolidColorBrush x:Key="ComboBoxPlaceholderTextThemeBrush" Color="White" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
我无法找到“generic.xaml”文件来搜索“SolidColorBrush”的正确密钥
答案 0 :(得分:1)
需要更改以影响占位符颜色的是SystemControlPageTextBaseHighBrush
属性:
<SolidColorBrush x:Key="SystemControlPageTextBaseHighBrush" Color="Green" />
警告:不幸的是,这不仅会影响您的ComboBox,还会影响许多其他控件。干净的方法是创建一个自定义的ComboBox样式,并为Placeholder元素修改前景色。
如果您在创建新样式时需要帮助,请查看here,如果需要,您可以在其中复制修改后的样式。