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>
This commit is contained in:
93
samples/ShellDemo/Pages/ButtonsPage.xaml.cs
Normal file
93
samples/ShellDemo/Pages/ButtonsPage.xaml.cs
Normal file
@@ -0,0 +1,93 @@
|
||||
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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user