CarouselMultiItemPage.xaml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. x:Class="ControlCatalog.Pages.CarouselMultiItemPage">
  4. <DockPanel>
  5. <ScrollViewer DockPanel.Dock="Right" Width="260">
  6. <StackPanel Margin="12" Spacing="8">
  7. <TextBlock Text="Configuration" FontWeight="SemiBold" FontSize="16"
  8. Foreground="{DynamicResource SystemControlHighlightAccentBrush}" />
  9. <TextBlock Text="Navigation" FontWeight="SemiBold" FontSize="13" />
  10. <Button x:Name="PreviousButton" Content="Previous" HorizontalAlignment="Stretch" />
  11. <Button x:Name="NextButton" Content="Next" HorizontalAlignment="Stretch" />
  12. <Separator />
  13. <TextBlock Text="Viewport Fraction" FontWeight="SemiBold" FontSize="13" />
  14. <TextBlock TextWrapping="Wrap" FontSize="11" Opacity="0.6"
  15. Text="Values below 1.0 show adjacent items peeking into the viewport." />
  16. <Grid ColumnDefinitions="*,48" ColumnSpacing="8">
  17. <Slider x:Name="ViewportSlider"
  18. Minimum="0.2" Maximum="1.0" Value="0.5"
  19. TickFrequency="0.01" IsSnapToTickEnabled="True"
  20. HorizontalAlignment="Stretch"
  21. ValueChanged="OnViewportFractionChanged" />
  22. <TextBlock x:Name="ViewportLabel" Grid.Column="1"
  23. Text="0.50" VerticalAlignment="Center"
  24. HorizontalAlignment="Right" FontWeight="SemiBold" />
  25. </Grid>
  26. <TextBlock x:Name="ViewportHint"
  27. Text="~2 items visible."
  28. FontSize="11" Opacity="0.6" TextWrapping="Wrap" />
  29. <Separator />
  30. <TextBlock Text="Options" FontWeight="SemiBold" FontSize="13" />
  31. <CheckBox x:Name="WrapCheck" Content="Wrap Selection" IsChecked="False"
  32. IsCheckedChanged="OnWrapChanged" />
  33. <CheckBox x:Name="SwipeCheck" Content="Swipe / Drag" IsChecked="True"
  34. IsCheckedChanged="OnSwipeChanged" />
  35. <Separator />
  36. <TextBlock Text="Status" FontWeight="SemiBold" FontSize="14" />
  37. <TextBlock x:Name="StatusText" Text="Item: 1 / 5"
  38. Opacity="0.7" TextWrapping="Wrap" />
  39. </StackPanel>
  40. </ScrollViewer>
  41. <Border DockPanel.Dock="Right" Width="1"
  42. Background="{DynamicResource SystemControlForegroundBaseMediumLowBrush}" />
  43. <Border Margin="12"
  44. BorderBrush="{DynamicResource SystemControlForegroundBaseMediumLowBrush}"
  45. BorderThickness="1" CornerRadius="6" ClipToBounds="True">
  46. <Carousel x:Name="DemoCarousel"
  47. Height="280"
  48. ViewportFraction="0.5"
  49. IsSwipeEnabled="True">
  50. <Carousel.PageTransition>
  51. <PageSlide Duration="0.3" Orientation="Horizontal" />
  52. </Carousel.PageTransition>
  53. <Border Margin="6,12" CornerRadius="14" ClipToBounds="True">
  54. <Border.Background>
  55. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  56. <GradientStop Color="#3525CD" Offset="0" />
  57. <GradientStop Color="#6B5CE7" Offset="1" />
  58. </LinearGradientBrush>
  59. </Border.Background>
  60. <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="8">
  61. <TextBlock Text="01" FontSize="52" FontWeight="Bold" Foreground="White"
  62. HorizontalAlignment="Center" LetterSpacing="-2" />
  63. <TextBlock Text="Neon Pulse" FontSize="15" FontWeight="SemiBold"
  64. Foreground="#C3C0FF" HorizontalAlignment="Center" />
  65. </StackPanel>
  66. </Border>
  67. <Border Margin="6,12" CornerRadius="14" ClipToBounds="True">
  68. <Border.Background>
  69. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  70. <GradientStop Color="#0891B2" Offset="0" />
  71. <GradientStop Color="#06B6D4" Offset="1" />
  72. </LinearGradientBrush>
  73. </Border.Background>
  74. <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="8">
  75. <TextBlock Text="02" FontSize="52" FontWeight="Bold" Foreground="White"
  76. HorizontalAlignment="Center" LetterSpacing="-2" />
  77. <TextBlock Text="Ephemeral Blue" FontSize="15" FontWeight="SemiBold"
  78. Foreground="#BAF0FA" HorizontalAlignment="Center" />
  79. </StackPanel>
  80. </Border>
  81. <Border Margin="6,12" CornerRadius="14" ClipToBounds="True">
  82. <Border.Background>
  83. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  84. <GradientStop Color="#059669" Offset="0" />
  85. <GradientStop Color="#10B981" Offset="1" />
  86. </LinearGradientBrush>
  87. </Border.Background>
  88. <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="8">
  89. <TextBlock Text="03" FontSize="52" FontWeight="Bold" Foreground="White"
  90. HorizontalAlignment="Center" LetterSpacing="-2" />
  91. <TextBlock Text="Forest Forms" FontSize="15" FontWeight="SemiBold"
  92. Foreground="#A7F3D0" HorizontalAlignment="Center" />
  93. </StackPanel>
  94. </Border>
  95. <Border Margin="6,12" CornerRadius="14" ClipToBounds="True">
  96. <Border.Background>
  97. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  98. <GradientStop Color="#D97706" Offset="0" />
  99. <GradientStop Color="#F59E0B" Offset="1" />
  100. </LinearGradientBrush>
  101. </Border.Background>
  102. <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="8">
  103. <TextBlock Text="04" FontSize="52" FontWeight="Bold" Foreground="White"
  104. HorizontalAlignment="Center" LetterSpacing="-2" />
  105. <TextBlock Text="Golden Hour" FontSize="15" FontWeight="SemiBold"
  106. Foreground="#FDE68A" HorizontalAlignment="Center" />
  107. </StackPanel>
  108. </Border>
  109. <Border Margin="6,12" CornerRadius="14" ClipToBounds="True">
  110. <Border.Background>
  111. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  112. <GradientStop Color="#BE185D" Offset="0" />
  113. <GradientStop Color="#EC4899" Offset="1" />
  114. </LinearGradientBrush>
  115. </Border.Background>
  116. <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="8">
  117. <TextBlock Text="05" FontSize="52" FontWeight="Bold" Foreground="White"
  118. HorizontalAlignment="Center" LetterSpacing="-2" />
  119. <TextBlock Text="Crimson Wave" FontSize="15" FontWeight="SemiBold"
  120. Foreground="#FBCFE8" HorizontalAlignment="Center" />
  121. </StackPanel>
  122. </Border>
  123. </Carousel>
  124. </Border>
  125. </DockPanel>
  126. </UserControl>