| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System;
- using Avalonia.Controls;
- using Avalonia.Controls.Primitives;
- using Avalonia.Interactivity;
- namespace ControlCatalog.Pages
- {
- public partial class CarouselMultiItemPage : UserControl
- {
- public CarouselMultiItemPage()
- {
- InitializeComponent();
- PreviousButton.Click += (_, _) => DemoCarousel.Previous();
- NextButton.Click += (_, _) => DemoCarousel.Next();
- DemoCarousel.SelectionChanged += OnSelectionChanged;
- }
- private void OnViewportFractionChanged(object? sender, RangeBaseValueChangedEventArgs e)
- {
- if (DemoCarousel is null)
- return;
- var value = Math.Round(e.NewValue, 2);
- DemoCarousel.ViewportFraction = value;
- ViewportLabel.Text = value.ToString("0.00");
- ViewportHint.Text = value >= 1d ? "1.00 — single full item." : $"~{1d / value:0.#} items visible.";
- }
- private void OnWrapChanged(object? sender, RoutedEventArgs e)
- {
- if (DemoCarousel is null)
- return;
- DemoCarousel.WrapSelection = WrapCheck.IsChecked == true;
- }
- private void OnSwipeChanged(object? sender, RoutedEventArgs e)
- {
- if (DemoCarousel is null)
- return;
- DemoCarousel.IsSwipeEnabled = SwipeCheck.IsChecked == true;
- }
- private void OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
- {
- StatusText.Text = $"Item: {DemoCarousel.SelectedIndex + 1} / {DemoCarousel.ItemCount}";
- }
- }
- }
|