I want to display an Imagebased Combobox in WPF. It works with some templating but I don't figure out how to get rid of the blueish mousehover rectangle. See the light blue box:
OK I found the solution, the question is solved now See the solution down here:
The Solution:
<ComboBox x:Name="comboBox"
Width="158"
Height="44"
Background="Transparent"
BorderBrush="#551B2830"
Foreground="Black">
<ComboBoxItem TextBlock.TextAlignment="Center">Mousehover me</ComboBoxItem>
<ComboBoxItem TextBlock.TextAlignment="Center">To see the bad </ComboBoxItem>
<ComboBoxItem TextBlock.TextAlignment="Center">blue rectangle</ComboBoxItem>
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Template">
<Setter.Value>
<!--This Does the Magic-->
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border x:Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="True" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
</Grid>
Ok found out how to do it .. I can add a template for the comboboxItem without Border or with Invisible Border. I also updated the question with the solution.
Edit: And here also to mark it as answered..
<ComboBox x:Name="comboBox"
Width="158"
Height="44"
Background="Transparent"
BorderBrush="#551B2830"
Foreground="Black">
<ComboBoxItem TextBlock.TextAlignment="Center">Mousehover me</ComboBoxItem>
<ComboBoxItem TextBlock.TextAlignment="Center">To see the bad </ComboBoxItem>
<ComboBoxItem TextBlock.TextAlignment="Center">blue rectangle</ComboBoxItem>
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Template">
<Setter.Value>
<!--This Does the Magic-->
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border x:Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="True" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>