InfoBar.axaml 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <ResourceDictionary xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:icons="clr-namespace:SukiUI.Content"
  4. xmlns:suki="clr-namespace:SukiUI.Controls">
  5. <Design.PreviewWith>
  6. <StackPanel Width="400" Spacing="3">
  7. <suki:InfoBar Title="Title"
  8. IsClosable="True"
  9. Message="Long Text Test Long Text Test Long Text Test Long Text Test" />
  10. <suki:InfoBar Title="Title" Message="Default" />
  11. </StackPanel>
  12. </Design.PreviewWith>
  13. <ControlTheme x:Key="SukiInfoBarStyle" TargetType="suki:InfoBar">
  14. <Setter Property="MinWidth" Value="200" />
  15. <Setter Property="Template">
  16. <ControlTemplate>
  17. <suki:GlassCard MinWidth="300" IsOpaque="{TemplateBinding IsOpaque}" Padding="0,0,0,15"
  18. CornerRadius="10"
  19. IsVisible="{TemplateBinding IsOpen}">
  20. <Grid ColumnDefinitions="50,*,40">
  21. <StackPanel Grid.Column="0"
  22. HorizontalAlignment="Left"
  23. Orientation="Horizontal">
  24. <Border Width="20"
  25. Height="20"
  26. Margin="15,15,0,0"
  27. HorizontalAlignment="Left"
  28. VerticalAlignment="Top"
  29. Background="{DynamicResource SukiCardBackground}"
  30. CornerRadius="35">
  31. <Border ClipToBounds="True" CornerRadius="35">
  32. <Panel>
  33. <Panel Background="{TemplateBinding IconForeground}" Opacity="1" />
  34. <PathIcon Width="10"
  35. Height="10"
  36. Margin="0,0,0,0"
  37. HorizontalAlignment="Center"
  38. VerticalAlignment="Center"
  39. Data="{TemplateBinding Icon}"
  40. Foreground="White" />
  41. </Panel>
  42. </Border>
  43. </Border>
  44. </StackPanel>
  45. <WrapPanel Name="PART_TextPanel"
  46. Grid.Column="1"
  47. Margin="0,12,0,0">
  48. <TextBlock Margin="0,5,10,0"
  49. FontWeight="Bold"
  50. Text="{TemplateBinding Title}" />
  51. <Border Width="7"></Border>
  52. <TextBlock Margin="0,5,0,0"
  53. Text="{TemplateBinding Message}"
  54. TextWrapping="Wrap" />
  55. </WrapPanel>
  56. <Button Name="PART_CloseButton"
  57. Grid.Column="2"
  58. Width="27"
  59. Height="27"
  60. Margin="0,12,12,0"
  61. Padding="0"
  62. HorizontalAlignment="Right"
  63. VerticalAlignment="Top"
  64. BorderThickness="0"
  65. Classes="Basic Rounded WindowControlsButton Close"
  66. IsVisible="{TemplateBinding IsClosable}">
  67. <PathIcon Width="10"
  68. Height="10"
  69. Data="{x:Static icons:Icons.WindowClose}"
  70. Opacity="0.7" />
  71. </Button>
  72. </Grid>
  73. </suki:GlassCard>
  74. </ControlTemplate>
  75. </Setter>
  76. </ControlTheme>
  77. <ControlTheme x:Key="{x:Type suki:InfoBar}"
  78. BasedOn="{StaticResource SukiInfoBarStyle}"
  79. TargetType="suki:InfoBar" />
  80. </ResourceDictionary>