禁用 ComboBox 并将 ComboBox 的颜色设为灰色

Disable ComboBox and make the color of the ComboBox Gray

  1. 我有一个组合框。我想让 ComboBox 禁用并在禁用时将颜色更改为 DarkGray。我希望此操作在我的应用程序启动时发生。

  2. 选择按钮后,它应该启用组合框并将其颜色再次更改为白色。

选项 1 的任何解决方案将不胜感激。

提前致谢。

在表单构造函数中,您必须禁用组合框并更改其背景颜色:

public Form1()
        {
            InitializeComponent();
            comboBox1.Enabled = false;
            comboBox1.BackColor = Color.DarkGray;
        }

当您的选项 2 发生时(例如使用事件处理程序)添加此代码:

comboBox1.Enabled = true;
comboBox1.BackColor = Color.White;

在您的 XAML 标记中将 ComboBoxIsEnabled 属性 设置为 false

<ComboBox x:Name="cmb" IsEnabled="False">
    <ComboBoxItem>1</ComboBoxItem>
    <ComboBoxItem>2</ComboBoxItem>
    <ComboBoxItem>3</ComboBoxItem>
</ComboBox>

...然后在 Button:

的单击事件处理程序中将其设置为 true
<Button Content="Enabled" Click="Button_Click" />

private void Button_Click(object sender, RoutedEventArgs e)
{
    cmb.IsEnabled = true;
}

默认颜色应该足够了。如果您想更改这些,您必须按照此处的建议修改 ComboBoxControlTemplatehttps://blog.magnusmontin.net/2014/04/30/changing-the-background-colour-of-a-combobox-in-wpf-on-windows-8/