title: How to use a different template for selected and drop down states in combo box in Silverlight?
body: <p>I can't seem to set a ContentTemplate for a ComboBoxItem. There reason I'm trying to do this is I want to have 2 appearances for my data in the combo box. When the combo box is open (menu is down) I want a text box (with the name of the image) and an image control below it. When I select the item I want the combo box to just show a text box with the name of the image.</p>
  
  <p>I thought I could achieve this by modifying the ItemTemplate and ItemContainerStyle of the ComboBox. The ItemContainerStyle contains the following ContentPresenter:</p>
  
  <pre><code>&lt;ContentPresenter HorizontalAlignment="Left" Margin="{TemplateBinding Padding}" x:Name="contentPresenter" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/&gt;
  </code></pre>
  
  <p>So I assumed that I could just set the ContentTemplate here and it would work. But I can't seem to get it to work:</p>
  
  <pre><code>&lt;DataTemplate x:Key="ComboBoxDataTemplate"&gt;
              &lt;Grid&gt;
                  &lt;TextBlock Text="{Binding Path='Name'}"/&gt;
              &lt;/Grid&gt;
          &lt;/DataTemplate&gt;
  
  &lt;DataTemplate x:Key="ComboBoxItemTemplate"&gt;
              &lt;StackPanel&gt;
                  &lt;TextBlock Text="{Binding Path='Name'}"/&gt;
                  &lt;Image Source="{Binding Path='Source'}" Width="64" Height="64"/&gt;
              &lt;/StackPanel&gt;
          &lt;/DataTemplate&gt;
  
          &lt;Style x:Key="ComboBoxItemStyle1" TargetType="ComboBoxItem"&gt;
  ...
              &lt;Setter Property="ContentTemplate" Value="{StaticResource ComboBoxItemTemplate}"/&gt;
  
  ...
  </code></pre>
  
  <p>Here's my combo box:</p>
  
  <pre><code>&lt;ComboBox Width="70" Margin="3,0,0,0"
                          ItemsSource="{StaticResource Source}"
                          ItemTemplate="{StaticResource ComboBoxDataTemplate}"
                          ItemContainerStyle="{StaticResource ComboBoxItemStyle1}"
                          /&gt;
  </code></pre>
  
  <p>The only way I can get this to work is to remove the ContentPresenter from the ItemContainerStyle, and replace it with the contents of my custom template (ComboBoxItemTemplate). But I didn't think I should use this approach as it would mean the ContentPresenter no longer exists (and code in the ComboBox might rely on it existing).</p>
  
  <p>Any help on showing a combo box with a different drop down and selected template would be greatly appreciated!</p>