<Styles xmlns="https://github.com/avaloniaui">
  <Design.PreviewWith>
    <Border Padding="20">
      <Border Background="{DynamicResource ComboBoxDropDownBackground}"
              BorderBrush="{DynamicResource ComboBoxDropDownBorderBrush}"
              BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}"
              Margin="0,-1,0,-1"
              Padding="{DynamicResource ComboBoxDropdownBorderPadding}"
              CornerRadius="{DynamicResource OverlayCornerRadius}">
        <StackPanel HorizontalAlignment="Stretch">
          <ComboBoxItem>Item 1</ComboBoxItem>
          <ComboBoxItem>Item 2 long</ComboBoxItem>
          <ComboBoxItem IsSelected="True">Item 3</ComboBoxItem>
          <ComboBoxItem IsEnabled="False">Item 4</ComboBoxItem>
        </StackPanel>
      </Border>
    </Border>
  </Design.PreviewWith>

  <Style Selector="ComboBoxItem">
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForeground}" />
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackground}" />
    <Setter Property="Padding" Value="{DynamicResource ComboBoxItemThemePadding}" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <Setter Property="Template">
      <ControlTemplate>
        <ContentPresenter Name="PART_ContentPresenter"
                          Foreground="{TemplateBinding Foreground}"
                          Background="{TemplateBinding Background}"
                          BorderBrush="{TemplateBinding BorderBrush}"
                          BorderThickness="{TemplateBinding BorderThickness}"
                          CornerRadius="{TemplateBinding CornerRadius}"
                          ContentTemplate="{TemplateBinding ContentTemplate}"
                          Content="{TemplateBinding Content}"
                          HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                          VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                          Padding="{TemplateBinding Padding}" />
      </ControlTemplate>
    </Setter>
  </Style>

  <!--  PointerOver state  -->
  <Style Selector="ComboBoxItem:pointerover /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPointerOver}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPointerOver}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPointerOver}" />
  </Style>

  <!--  Disabled state  -->
  <Style Selector="ComboBoxItem:disabled /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundDisabled}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushDisabled}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundDisabled}" />
  </Style>

  <!--  Pressed state  -->
  <Style Selector="ComboBoxItem:pressed /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPressed}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPressed}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPressed}" />
  </Style>

  <!--  Selected state  -->
  <Style Selector="ComboBoxItem:selected /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelected}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelected}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelected}" />
  </Style>

  <!--  Selected Disabled state  -->
  <Style Selector="ComboBoxItem:selected:disabled /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedDisabled}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedDisabled}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedDisabled}" />
  </Style>

  <!--  Selected PointerOver state  -->
  <Style Selector="ComboBoxItem:selected:pointerover /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPointerOver}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPointerOver}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPointerOver}" />
  </Style>

  <!--  Selected Pressed state  -->
  <Style Selector="ComboBoxItem:selected:pressed /template/ ContentPresenter">
    <Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPressed}" />
    <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPressed}" />
    <Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPressed}" />
  </Style>
</Styles>
