【问题标题】:Combobox placeholder text theme brush ( text color )组合框占位符文本主题画笔(文本颜色)
【发布时间】:2015-01-27 08:05:30
【问题描述】:

我想更改 Windows 商店应用 (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”的正确键

【问题讨论】:

    标签: c# xaml windows-store-apps windows-store


    【解决方案1】:

    您需要更改以影响占位符颜色的是SystemControlPageTextBaseHighBrush 属性:

    <SolidColorBrush x:Key="SystemControlPageTextBaseHighBrush" Color="Green" />
    

    警告:不幸的是,这不仅会影响您的 ComboBox,还会影响许多其他控件。干净的方法是创建自定义 ComboBox 样式,并为 Placeholder 元素修改前景色。

    如果您在创建新样式方面需要帮助,请查看this code,如果需要,您可以在其中复制修改后的样式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2013-02-04
      相关资源
      最近更新 更多