2015-02-25 1 views
0

у меня в XAML следующие строки в Window.Resources:Set Стиль ComboBoxItem = NULL, но программно

<Style TargetType="{x:Type ComboBoxItem}"> 
     <Setter Property="Background"> 
      <Setter.Value> 
       <ImageBrush ImageSource="pics/greenbutton.png" /> 
      </Setter.Value> 
     </Setter> 
     <Setter Property="Foreground" Value="White" /> 
    </Style> 

В моем окне несколько ComboBoxes, где это хорошо. Но у меня есть один, где это беспокоит, поэтому я хотел установить стиль в null. Я уже поставил Style="{x:Null}" внутри XAML-ComboBox. Это дает ComboBox сам хороший вид, но не открытую коробку (т. Е. ComboBoxItems). Я использую DataBinding внутри Code-Behind, так как я могу удалить стиль окна для ComboBoxItems?

ответ

1

Вы должны добавить к ComboBox ресурсам пустой стиль с целевым типом ComboBoxItem.

Вы можете сделать это в XAML, как это:

<ComboBox x:Name="myComboBox" ...> 
    <ComboBox.Resources> 
     <Style TargetType="ComboBoxItem"> 
     </Style> 
    </ComboBox.Resources> 
... 
</ComboBox> 

Или вы можете сделать это в код-за помощью следующего кода:

myComboBox.Resources.Add(typeof(ComboBoxItem), new Style(typeof(ComboBoxItem))); 
+0

Спасибо, что это было. –