2017-06-06 68 views
0
  1. 我有一個組合框的顏色。我想使組合框禁用並更改顏色以深灰時,它的禁用。我希望在我的應用程序啓動時執行此操作。禁用組合框,使的組合框灰色

  2. 在一個按鈕的選擇,它應該能夠與組合框的顏色又變成白色。

任何選項1的解決方案,將不勝感激。

在此先感謝。

+0

關鍵詞:風格觸發... – elgonzo

回答

2

設置在ComboBoxIsEnabled屬性false在XAML標記:

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

...然後將其設置爲true在click事件處理程序Button

<Button Content="Enabled" Click="Button_Click" /> 

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

默認的顏色就足夠了。如果你想改變這些,你將不得不修改ComboBoxControlTemplate的建議在這裏:https://blog.magnusmontin.net/2014/04/30/changing-the-background-colour-of-a-combobox-in-wpf-on-windows-8/

+0

感謝MM8。我嘗試了以上建議的選項。它沒有啓用和禁用我,但是當組合框被禁用顏色不將其更改爲灰色。但是,我嘗試了控制模板選項。當頁面首次加載時,它確實將顏色更改爲灰色。但啓用時不會將顏色更改爲白色。 – Robert

0

在窗體的構造必須禁用組合框並更改其背景色:

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

當發生(使用事件處理程序,例如)添加此代碼的選項2:

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