HyperlinkButton.axaml 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  2. <ControlTheme x:Key="SukiHyperlinkButtonStyle" TargetType="HyperlinkButton">
  3. <Setter Property="Cursor" Value="Hand" />
  4. <Setter Property="Background" Value="Transparent" />
  5. <Setter Property="BackgroundSizing" Value="OuterBorderEdge" />
  6. <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor}" />
  7. <Setter Property="BorderBrush" Value="Transparent" />
  8. <Setter Property="BorderThickness" Value="0" />
  9. <Setter Property="CornerRadius" Value="0" />
  10. <Setter Property="Padding" Value="0" />
  11. <Setter Property="HorizontalAlignment" Value="Left" />
  12. <Setter Property="VerticalAlignment" Value="Center" />
  13. <Setter Property="RenderTransform" Value="none" />
  14. <Setter Property="TextBlock.TextDecorations" Value="Underline" />
  15. <Setter Property="Transitions">
  16. <Transitions>
  17. <TransformOperationsTransition Property="RenderTransform" Duration="0:0:.075" />
  18. </Transitions>
  19. </Setter>
  20. <Setter Property="Template">
  21. <ControlTemplate>
  22. <ContentPresenter x:Name="PART_ContentPresenter"
  23. Padding="{TemplateBinding Padding}"
  24. HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
  25. VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
  26. Background="{TemplateBinding Background}"
  27. BackgroundSizing="{TemplateBinding BackgroundSizing}"
  28. BorderBrush="{TemplateBinding BorderBrush}"
  29. BorderThickness="{TemplateBinding BorderThickness}"
  30. Content="{TemplateBinding Content}"
  31. ContentTemplate="{TemplateBinding ContentTemplate}"
  32. CornerRadius="{TemplateBinding CornerRadius}"
  33. RecognizesAccessKey="True" />
  34. </ControlTemplate>
  35. </Setter>
  36. <Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
  37. <Setter Property="Transitions">
  38. <Transitions>
  39. <BrushTransition Property="Foreground" Duration="{StaticResource ShortAnimationDuration}" />
  40. </Transitions>
  41. </Setter>
  42. </Style>
  43. <Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  44. <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor50}" />
  45. </Style>
  46. <Style Selector="^:pressed">
  47. <Setter Property="RenderTransform" Value="scale(0.95)" />
  48. </Style>
  49. <Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
  50. <Setter Property="Foreground" Value="{DynamicResource SukiPrimaryColor75}" />
  51. </Style>
  52. <Style Selector="^:disabled /template/ ContentPresenter#PART_ContentPresenter">
  53. <Setter Property="Foreground" Value="{DynamicResource SukiDisabledText}" />
  54. </Style>
  55. <Style Selector="^:visited">
  56. <Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
  57. <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor}" />
  58. </Style>
  59. <Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
  60. <Setter Property="Foreground" Value="{DynamicResource SukiAccentDarkColor}" />
  61. </Style>
  62. <Style Selector="^:pressed /template/ ContentPresenter#PART_ContentPresenter">
  63. <Setter Property="Foreground" Value="{DynamicResource SukiAccentColor75}" />
  64. </Style>
  65. </Style>
  66. </ControlTheme>
  67. <ControlTheme x:Key="{x:Type HyperlinkButton}"
  68. BasedOn="{StaticResource SukiHyperlinkButtonStyle}"
  69. TargetType="HyperlinkButton" />
  70. </ResourceDictionary>