TabItem.axaml 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <Styles xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:classes="clr-namespace:InABox.Avalonia.Theme.Classes">
  4. <Style Selector="TabControl.Standard">
  5. <Style.Resources>
  6. <classes:TabItemHeaderMarginConverter x:Key="TabItemHeaderMarginConverter" Padding="2"/>
  7. </Style.Resources>
  8. <Setter Property="Padding" Value="0"/>
  9. <Setter Property="ItemsPanel">
  10. <Setter.Value>
  11. <ItemsPanelTemplate>
  12. <UniformGrid Rows="1" Margin="1"/>
  13. </ItemsPanelTemplate>
  14. </Setter.Value>
  15. </Setter>
  16. <Setter Property="Template">
  17. <ControlTemplate>
  18. <Border BorderBrush="{TemplateBinding BorderBrush}"
  19. BorderThickness="{TemplateBinding BorderThickness}"
  20. CornerRadius="{TemplateBinding CornerRadius}"
  21. Background="{TemplateBinding Background}"
  22. HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
  23. VerticalAlignment="{TemplateBinding VerticalAlignment}">
  24. <DockPanel>
  25. <Border DockPanel.Dock="{TemplateBinding TabStripPlacement}"
  26. Name="PART_HeaderBorder"
  27. Margin="{TemplateBinding TabStripPlacement, Converter={StaticResource TabItemHeaderMarginConverter}}">
  28. <ItemsPresenter Name="PART_ItemsPresenter"
  29. ItemsPanel="{TemplateBinding ItemsPanel}"/>
  30. </Border>
  31. <ContentPresenter Name="PART_SelectedContentHost"
  32. Margin="{TemplateBinding Padding}"
  33. HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
  34. VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
  35. Content="{TemplateBinding SelectedContent}"
  36. ContentTemplate="{TemplateBinding SelectedContentTemplate}" />
  37. </DockPanel>
  38. </Border>
  39. </ControlTemplate>
  40. </Setter>
  41. </Style>
  42. <Style Selector="TabControl.Standard Border#PART_HeaderBorder">
  43. <Setter Property="Background" Value="{DynamicResource PrsMenuBackground}"/>
  44. <Setter Property="BorderBrush" Value="{DynamicResource PrsMenuBackground}"/>
  45. <Setter Property="BorderThickness" Value="1"/>
  46. <Setter Property="CornerRadius" Value="{DynamicResource PrsCornerRadius}"/>
  47. </Style>
  48. <Style Selector="TabControl.Standard TabItem">
  49. <!-- <Setter Property="Height" Value="0"/> -->
  50. <Setter Property="MinHeight" Value="30"/>
  51. <Setter Property="FontSize" Value="{DynamicResource PrsFontSizeSmall}"/>
  52. <Setter Property="FontWeight" Value="{DynamicResource PrsFontWeightBold}" />
  53. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  54. <Setter Property="Background" Value="{DynamicResource PrsMenuBackground}"/>
  55. <Setter Property="Foreground" Value="White"/>
  56. <Setter Property="CornerRadius" Value="{DynamicResource PrsCornerRadius}" />
  57. <Setter Property="Padding" Value="0,10,0,10"/>
  58. </Style>
  59. <Style Selector="TabControl.Standard TabItem:pointerover /template/ Border#PART_LayoutRoot">
  60. <Setter Property="Background" Value="{DynamicResource PrsMenuBackground}"/>
  61. <Setter Property="TextElement.Foreground" Value="White"/>
  62. </Style>
  63. <Style Selector="TabControl.Standard TabItem:selected">
  64. <Setter Property="Background" Value="{DynamicResource PrsTileBackground}"/>
  65. <Setter Property="TextElement.Foreground" Value="Black"/>
  66. </Style>
  67. <Style Selector="TabControl.Standard TabItem:selected:pointerover /template/ Border#PART_LayoutRoot">
  68. <Setter Property="Background" Value="{DynamicResource PrsTileBackground}"/>
  69. <Setter Property="TextElement.Foreground" Value="Black"/>
  70. </Style>
  71. <Style Selector="TabControl.Standard TabItem:selected /template/ Border#PART_SelectedPipe">
  72. <Setter Property="IsVisible" Value="False"/>
  73. </Style>
  74. </Styles>