123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System;
- using Avalonia;
- using Avalonia.Controls;
- using Avalonia.Interactivity;
- using Avalonia.Markup.Xaml;
- namespace ControlCatalog.Pages
- {
- public class ButtonSpinnerPage : UserControl
- {
- public ButtonSpinnerPage()
- {
- this.InitializeComponent();
- }
- private void InitializeComponent()
- {
- AvaloniaXamlLoader.Load(this);
- }
- public void OnSpin(object sender, SpinEventArgs e)
- {
- var spinner = (ButtonSpinner)sender;
- if (spinner.Content is TextBlock txtBox)
- {
- int value = Array.IndexOf(_mountains, txtBox.Text);
- if (e.Direction == SpinDirection.Increase)
- value++;
- else
- value--;
- if (value < 0)
- value = _mountains.Length - 1;
- else if (value >= _mountains.Length)
- value = 0;
- txtBox.Text = _mountains[value];
- }
- }
- private readonly string[] _mountains = new[]
- {
- "Everest",
- "K2 (Mount Godwin Austen)",
- "Kangchenjunga",
- "Lhotse",
- "Makalu",
- "Cho Oyu",
- "Dhaulagiri",
- "Manaslu",
- "Nanga Parbat",
- "Annapurna"
- };
- }
- }
|