DocumentTabStrip.axaml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <ResourceDictionary xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:dmc="using:Dock.Model.Controls">
  4. <Design.PreviewWith>
  5. <Border Padding="20">
  6. <DocumentTabStrip>
  7. <DocumentTabStripItem>Item 1</DocumentTabStripItem>
  8. <DocumentTabStripItem>Item 2</DocumentTabStripItem>
  9. <DocumentTabStripItem IsEnabled="False">Disabled</DocumentTabStripItem>
  10. </DocumentTabStrip>
  11. </Border>
  12. </Design.PreviewWith>
  13. <ControlTheme x:Key="ButtonCreateDocument" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
  14. <Setter Property="BorderThickness" Value="0" />
  15. <Setter Property="Padding" Value="0" />
  16. <Setter Property="Margin" Value="0,12,12,0" />
  17. <Setter Property="Width" Value="22" />
  18. <Setter Property="Height" Value="22" />
  19. <Setter Property="HorizontalAlignment" Value="Right" />
  20. <Setter Property="HorizontalContentAlignment" Value="Center" />
  21. <Setter Property="VerticalAlignment" Value="Top" />
  22. <Setter Property="VerticalContentAlignment" Value="Center" />
  23. <Setter Property="Background" Value="Transparent" />
  24. </ControlTheme>
  25. <ControlTheme x:Key="{x:Type DocumentTabStrip}" TargetType="DocumentTabStrip">
  26. <Setter Property="Background" Value="Transparent" />
  27. <Setter Property="Focusable" Value="False" />
  28. <Setter Property="ClipToBounds" Value="False" />
  29. <Setter Property="ZIndex" Value="1" />
  30. <Setter Property="Template">
  31. <ControlTemplate>
  32. <DockPanel Background="Transparent"
  33. ClipToBounds="False"
  34. x:DataType="dmc:IDocumentDock"
  35. x:CompileBindings="True">
  36. <Button x:Name="PART_ButtonCreate"
  37. Command="{Binding CreateDocument}"
  38. Theme="{StaticResource ButtonCreateDocument}"
  39. IsVisible="{Binding CanCreateDocument}"
  40. DockPanel.Dock="Right">
  41. <Path x:Name="PART_PathCreate">
  42. <Path.Styles>
  43. <Style Selector="Path">
  44. <Setter Property="Margin" Value="5" />
  45. <Setter Property="Stretch" Value="Uniform" />
  46. <Setter Property="UseLayoutRounding" Value="False" />
  47. <Setter Property="Fill" Value="{DynamicResource DockThemeForegroundBrush}" />
  48. <Setter Property="Data"
  49. Value="M8.41687 7.57953V2.41851C8.41687 2.18743 8.22932 1.99988 7.99823 1.99988C7.76715 1.99988 7.5796 2.18743 7.5796 2.41851V7.57953H2.41863C2.18755 7.57953 2 7.76708 2 7.99816C2 8.22925 2.18755 8.41679 2.41863 8.41679H7.5796V13.5812C7.5796 13.8123 7.76715 13.9999 7.99823 13.9999C8.22932 13.9999 8.41687 13.8123 8.41687 13.5812V8.41679L13.5799 8.41851C13.811 8.41851 13.9985 8.23096 13.9985 7.99988C13.9985 7.76879 13.811 7.58125 13.5799 7.58125L8.41687 7.57953Z" />
  50. </Style>
  51. </Path.Styles>
  52. </Path>
  53. </Button>
  54. <ItemsPresenter x:Name="PART_ItemsPresenter"
  55. ItemsPanel="{TemplateBinding ItemsPanel}" />
  56. </DockPanel>
  57. </ControlTemplate>
  58. </Setter>
  59. <Setter Property="ItemsPanel">
  60. <ItemsPanelTemplate>
  61. <WrapPanel ClipToBounds="False" />
  62. </ItemsPanelTemplate>
  63. </Setter>
  64. <Style Selector="^:not(:create):empty">
  65. <Setter Property="IsVisible" Value="False" />
  66. </Style>
  67. </ControlTheme>
  68. </ResourceDictionary>