Wpf 禁用组合框并使组合框的颜色为灰色

Wpf 禁用组合框并使组合框的颜色为灰色,wpf,wpf-controls,wpfdatagrid,Wpf,Wpf Controls,Wpfdatagrid,我有一个组合框。我想禁用组合框,并在禁用时将颜色更改为暗灰色。我希望在应用程序启动时执行此操作 选择按钮后,应启用组合框并将其颜色再次更改为白色 任何方案1的解决方案都将不胜感激 提前感谢。在表单构造函数中,您必须禁用组合框并更改其背景颜色: public Form1() { InitializeComponent(); comboBox1.Enabled = false; comboBox1.BackCol

我有一个组合框。我想禁用组合框,并在禁用时将颜色更改为暗灰色。我希望在应用程序启动时执行此操作

  • 选择按钮后,应启用组合框并将其颜色再次更改为白色

  • 任何方案1的解决方案都将不胜感激


    提前感谢。

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

    public Form1()
            {
                InitializeComponent();
                comboBox1.Enabled = false;
                comboBox1.BackColor = Color.DarkGray;
            }
    
    发生这种情况时,您的选项2(例如使用事件处理程序)添加以下代码:

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

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

    public Form1()
            {
                InitializeComponent();
                comboBox1.Enabled = false;
                comboBox1.BackColor = Color.DarkGray;
            }
    
    发生这种情况时,您的选项2(例如使用事件处理程序)添加以下代码:

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

    在XAML标记中将组合框的
    IsEnabled
    属性设置为
    false

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


    默认颜色应该足够了。如果您想更改这些,您必须修改
    组合框的
    控制模板,如下所示:

    在XAML标记中将
    组合框的
    IsEnabled
    属性设置为
    false

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


    默认颜色应该足够了。如果要更改这些,您必须按照此处的建议修改组合框的
    控制模板:

    关键字:样式触发器…关键字:样式触发器…谢谢mm8。我尝试了你建议的以上选项。它确实为我启用和禁用了,但当组合框被禁用时,颜色不会将其更改为灰色。但是,我尝试了控件模板选项。当页面第一次加载时,它确实将颜色更改为灰色。但是当它被启用时,它不会将颜色变回白色。谢谢mm8。我尝试了你建议的以上选项。它确实为我启用和禁用了,但当组合框被禁用时,颜色不会将其更改为灰色。但是,我尝试了控件模板选项。当页面第一次加载时,它确实将颜色更改为灰色。但启用时不会将颜色更改回白色。