ToolPinItemControl.axaml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <ResourceDictionary xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:core="using:Dock.Model.Core">
  4. <Design.PreviewWith>
  5. <ToolPinItemControl Width="30" Height="400" />
  6. </Design.PreviewWith>
  7. <ContextMenu x:Key="ToolPinItemControlContextMenu" x:DataType="core:IDockable" x:CompileBindings="True">
  8. <MenuItem Header="_Float"
  9. Command="{Binding Owner.Factory.FloatDockable}"
  10. CommandParameter="{Binding}"
  11. IsVisible="{Binding CanFloat}"/>
  12. <MenuItem Header="_Show"
  13. Command="{Binding Owner.Factory.PreviewPinnedDockable}"
  14. CommandParameter="{Binding}"
  15. IsVisible="{Binding CanPin}"/>
  16. <MenuItem Header="_Close"
  17. Command="{Binding Owner.Factory.CloseDockable}"
  18. CommandParameter="{Binding}"
  19. IsVisible="{Binding CanClose}"/>
  20. </ContextMenu>
  21. <ControlTheme x:Key="{x:Type ToolPinItemControl}" TargetType="ToolPinItemControl">
  22. <Setter Property="Template">
  23. <ControlTemplate>
  24. <DockableControl TrackingMode="Pinned"
  25. x:DataType="core:IDockable"
  26. x:CompileBindings="True">
  27. <LayoutTransformControl x:Name="PART_LayoutTransformControl">
  28. <Button Background="Transparent"
  29. BorderBrush="Transparent"
  30. BorderThickness="0"
  31. CornerRadius="0"
  32. Command="{Binding Owner.Factory.PreviewPinnedDockable}"
  33. CommandParameter="{Binding}"
  34. IsVisible="{Binding CanPin}">
  35. <TextBlock Text="{Binding Title}"
  36. VerticalAlignment="Center"
  37. HorizontalAlignment="Left"
  38. ContextMenu="{DynamicResource ToolPinItemControlContextMenu}">
  39. </TextBlock>
  40. </Button>
  41. </LayoutTransformControl>
  42. </DockableControl>
  43. </ControlTemplate>
  44. </Setter>
  45. <Style Selector="^[Orientation=Vertical]/template/ LayoutTransformControl#PART_LayoutTransformControl">
  46. <Setter Property="LayoutTransform">
  47. <RotateTransform Angle="270" />
  48. </Setter>
  49. </Style>
  50. <Style Selector="^[Orientation=Horizontal]/template/ LayoutTransformControl#PART_LayoutTransformControl">
  51. <Setter Property="LayoutTransform">
  52. <RotateTransform Angle="0" />
  53. </Setter>
  54. </Style>
  55. </ControlTheme>
  56. </ResourceDictionary>