ToolControl.axaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. xmlns:core="using:Dock.Model.Core">
  5. <Design.PreviewWith>
  6. <ToolControl Width="300" Height="400" />
  7. </Design.PreviewWith>
  8. <ControlTheme x:Key="{x:Type ToolControl}" TargetType="ToolControl">
  9. <Setter Property="HeaderTemplate">
  10. <DataTemplate DataType="core:IDockable">
  11. <TextBlock Text="{Binding Title}" Padding="2" />
  12. </DataTemplate>
  13. </Setter>
  14. <Setter Property="Template">
  15. <ControlTemplate>
  16. <DockPanel x:Name="PART_DockPanel"
  17. DockProperties.IsDropArea="True"
  18. DockProperties.IsDockTarget="True"
  19. x:DataType="dmc:IToolDock"
  20. x:CompileBindings="True">
  21. <ToolTabStrip x:Name="PART_TabStrip"
  22. ItemsSource="{Binding VisibleDockables}"
  23. SelectedItem="{Binding ActiveDockable, Mode=TwoWay}"
  24. DockPanel.Dock="Bottom"
  25. DockProperties.IsDropArea="True" />
  26. <Border x:Name="PART_Border">
  27. <DockableControl DataContext="{Binding ActiveDockable}"
  28. TrackingMode="Visible">
  29. <ContentControl x:Name="PART_ContentPresenter"
  30. Content="{Binding}"
  31. HorizontalAlignment="Stretch"
  32. VerticalAlignment="Stretch">
  33. <ContentControl.ContentTemplate>
  34. <ControlRecyclingDataTemplate Parent="{Binding #PART_ContentPresenter}" />
  35. </ContentControl.ContentTemplate>
  36. </ContentControl>
  37. </DockableControl>
  38. </Border>
  39. </DockPanel>
  40. </ControlTemplate>
  41. </Setter>
  42. <Style Selector="^/template/ DockPanel#PART_DockPanel">
  43. <Setter Property="Background" Value="Transparent" />
  44. <Setter Property="ZIndex" Value="1" />
  45. </Style>
  46. <Style Selector="^/template/ Border#PART_Border">
  47. <Setter Property="ZIndex" Value="-1" />
  48. <Setter Property="Background" Value="{DynamicResource DockThemeBackgroundBrush}" />
  49. <Setter Property="Margin" Value="0" />
  50. <Setter Property="BorderBrush" Value="{DynamicResource DockThemeBorderLowBrush}" />
  51. <Setter Property="BorderThickness" Value="0" />
  52. </Style>
  53. </ControlTheme>
  54. </ResourceDictionary>