mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-04-08 18:26:35 +08:00
* feat: add CarouselPage and PipsPager. * feat: add PipsPager control and integrate into index * feat: add PipsPagerDemo and integrate into MainView --------- Co-authored-by: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
69 lines
3.8 KiB
XML
69 lines
3.8 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
x:Class="Semi.Avalonia.Demo.Pages.CarouselPageDemo">
|
|
<DockPanel>
|
|
<ScrollViewer DockPanel.Dock="Right" Width="220">
|
|
<StackPanel Margin="12" Spacing="8">
|
|
<TextBlock Text="Configuration" FontWeight="SemiBold" FontSize="16"
|
|
Foreground="{DynamicResource SystemControlHighlightAccentBrush}" />
|
|
|
|
<TextBlock Text="Navigation" FontWeight="SemiBold" FontSize="13" />
|
|
<StackPanel Spacing="6">
|
|
<Button Content="Previous" Click="OnPrevious" HorizontalAlignment="Stretch" />
|
|
<Button Content="Next" Click="OnNext" HorizontalAlignment="Stretch" />
|
|
</StackPanel>
|
|
|
|
<Separator />
|
|
|
|
<TextBlock Text="Status" FontWeight="SemiBold" FontSize="13" />
|
|
<TextBlock Name="StatusText" Text="Page 1 of 3" Opacity="0.7" TextWrapping="Wrap" />
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
|
|
<Border DockPanel.Dock="Right" Width="1"
|
|
Background="{DynamicResource SystemControlForegroundBaseMediumLowBrush}" />
|
|
|
|
<Border Margin="12"
|
|
BorderBrush="{DynamicResource SystemControlForegroundBaseMediumLowBrush}"
|
|
BorderThickness="1" CornerRadius="6" ClipToBounds="True">
|
|
<Panel>
|
|
<CarouselPage Name="DemoCarousel"
|
|
SelectionChanged="OnSelectionChanged">
|
|
<ContentPage Header="Welcome">
|
|
<StackPanel Margin="24" Spacing="12"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<TextBlock Text="Welcome" FontSize="28" FontWeight="Bold"
|
|
HorizontalAlignment="Center" />
|
|
<TextBlock Text="Swipe left or use the buttons to navigate."
|
|
TextWrapping="Wrap" Opacity="0.7" TextAlignment="Center" MaxWidth="280" />
|
|
</StackPanel>
|
|
</ContentPage>
|
|
<ContentPage Header="Explore">
|
|
<StackPanel Margin="24" Spacing="12"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<TextBlock Text="Explore" FontSize="28" FontWeight="Bold"
|
|
HorizontalAlignment="Center" />
|
|
<TextBlock Text="CarouselPage supports scroll-based and transition-based navigation modes."
|
|
TextWrapping="Wrap" Opacity="0.7" TextAlignment="Center" MaxWidth="280" />
|
|
</StackPanel>
|
|
</ContentPage>
|
|
<ContentPage Header="Get Started">
|
|
<StackPanel Margin="24" Spacing="12"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<TextBlock Text="Get Started" FontSize="28" FontWeight="Bold"
|
|
HorizontalAlignment="Center" />
|
|
<TextBlock Text="Use SelectedIndex to jump to any page, or assign a PageTransition for animated switching."
|
|
TextWrapping="Wrap" Opacity="0.7" TextAlignment="Center" MaxWidth="280" />
|
|
</StackPanel>
|
|
</ContentPage>
|
|
</CarouselPage>
|
|
<PipsPager HorizontalAlignment="Center"
|
|
VerticalAlignment="Bottom" Margin="0,0,0,20"
|
|
NumberOfPages="3"
|
|
SelectedPageIndex="{Binding #DemoCarousel.SelectedIndex}" />
|
|
</Panel>
|
|
</Border>
|
|
|
|
|
|
</DockPanel>
|
|
</UserControl> |