using System.Collections.Generic; using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Markup.Xaml; using MiniMvvm; namespace ControlCatalog.Pages { public class ScrollViewerPageViewModel : ViewModelBase { private bool _allowAutoHide; private bool _enableInertia; private ScrollBarVisibility _horizontalScrollVisibility; private ScrollBarVisibility _verticalScrollVisibility; public ScrollViewerPageViewModel() { AvailableVisibility = new List { ScrollBarVisibility.Auto, ScrollBarVisibility.Visible, ScrollBarVisibility.Hidden, ScrollBarVisibility.Disabled, }; HorizontalScrollVisibility = ScrollBarVisibility.Auto; VerticalScrollVisibility = ScrollBarVisibility.Auto; AllowAutoHide = true; EnableInertia = true; } public bool AllowAutoHide { get => _allowAutoHide; set => this.RaiseAndSetIfChanged(ref _allowAutoHide, value); } public bool EnableInertia { get => _enableInertia; set => this.RaiseAndSetIfChanged(ref _enableInertia, value); } public ScrollBarVisibility HorizontalScrollVisibility { get => _horizontalScrollVisibility; set => this.RaiseAndSetIfChanged(ref _horizontalScrollVisibility, value); } public ScrollBarVisibility VerticalScrollVisibility { get => _verticalScrollVisibility; set => this.RaiseAndSetIfChanged(ref _verticalScrollVisibility, value); } public List AvailableVisibility { get; } } public class ScrollViewerPage : UserControl { public ScrollViewerPage() { InitializeComponent(); DataContext = new ScrollViewerPageViewModel(); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } } }