Files
maui-linux/samples/ShellDemo/Pages/ButtonsPage.xaml.cs
Dave Friedel 01270c6938 Add ShellDemo sample with comprehensive XAML controls showcase
Complete ShellDemo application demonstrating all MAUI controls:
- App/AppShell: Shell navigation with flyout menu
- HomePage: Feature cards, theme toggle, quick actions
- ButtonsPage: Button styles, states, variations, event logging
- TextInputPage: Entry, Editor, SearchBar with keyboard shortcuts
- SelectionPage: CheckBox, Switch, Slider with colored variants
- PickersPage: Picker, DatePicker, TimePicker demos
- ListsPage: CollectionView with fruits, colors, contacts
- ProgressPage: ProgressBar, ActivityIndicator, interactive demo
- GridsPage: Grid layouts - auto/star/absolute sizing, spans, nesting
- AboutPage: OpenMaui Linux information
- DetailPage: Push/pop navigation demo

All pages use proper XAML with code-behind following MAUI patterns.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 20:02:24 -05:00

94 lines
2.3 KiB
C#

using System;
using Microsoft.Maui.Controls;
namespace ShellDemo.Pages;
public partial class ButtonsPage : ContentPage
{
private int _eventCount = 0;
public ButtonsPage()
{
InitializeComponent();
}
private void LogEvent(string message)
{
_eventCount++;
var timestamp = DateTime.Now.ToString("HH:mm:ss");
EventLog.Text = $"[{timestamp}] {_eventCount}. {message}\n{EventLog.Text}";
}
private void OnDefaultButtonClicked(object? sender, EventArgs e)
{
LogEvent("Default Button clicked");
}
private void OnDefaultButtonPressed(object? sender, EventArgs e)
{
LogEvent("Default Button pressed");
}
private void OnDefaultButtonReleased(object? sender, EventArgs e)
{
LogEvent("Default Button released");
}
private void OnTextButtonClicked(object? sender, EventArgs e)
{
LogEvent("Text Button clicked");
}
private void OnPrimaryClicked(object? sender, EventArgs e)
{
LogEvent("Primary button clicked");
}
private void OnSuccessClicked(object? sender, EventArgs e)
{
LogEvent("Success button clicked");
}
private void OnWarningClicked(object? sender, EventArgs e)
{
LogEvent("Warning button clicked");
}
private void OnDangerClicked(object? sender, EventArgs e)
{
LogEvent("Danger button clicked");
}
private void OnPurpleClicked(object? sender, EventArgs e)
{
LogEvent("Purple button clicked");
}
private void OnEnabledClicked(object? sender, EventArgs e)
{
LogEvent("Enabled button clicked");
}
private void OnToggleClicked(object? sender, EventArgs e)
{
DisabledButton.IsEnabled = !DisabledButton.IsEnabled;
DisabledButton.Text = DisabledButton.IsEnabled ? "Now Enabled!" : "Disabled Button";
LogEvent($"Toggled button to: {(DisabledButton.IsEnabled ? "Enabled" : "Disabled")}");
}
private void OnWideClicked(object? sender, EventArgs e)
{
LogEvent("Wide button clicked");
}
private void OnTallClicked(object? sender, EventArgs e)
{
LogEvent("Tall button clicked");
}
private void OnRoundClicked(object? sender, EventArgs e)
{
LogEvent("Round button clicked");
}
}