Add full XAML support for .NET MAUI compatibility

New features:
- MauiAppBuilderExtensions.UseOpenMauiLinux() for standard MAUI integration
- New template: openmaui-linux-xaml with full XAML support
- Standard MAUI XAML syntax (ContentPage, VerticalStackLayout, etc.)
- Resource dictionaries (Colors.xaml, Styles.xaml)
- Compiled XAML support via MauiXaml items

Templates now available:
- dotnet new openmaui-linux      (code-based UI)
- dotnet new openmaui-linux-xaml (XAML-based UI)

Usage:
    var builder = MauiApp.CreateBuilder();
    builder
        .UseMauiApp<App>()
        .UseOpenMauiLinux();  // Enable Linux with XAML
This commit is contained in:
logikonline
2025-12-19 05:17:50 -05:00
parent ae5c9ab738
commit 1d9338d823
15 changed files with 646 additions and 7 deletions

View File

@@ -0,0 +1,30 @@
namespace OpenMauiXamlApp;
public partial class MainPage : ContentPage
{
private int _count = 0;
public MainPage()
{
InitializeComponent();
// Wire up slider value changed
VolumeSlider.ValueChanged += OnVolumeChanged;
}
private void OnCounterClicked(object sender, EventArgs e)
{
_count++;
CounterBtn.Text = _count == 1
? $"Clicked {_count} time"
: $"Clicked {_count} times";
SemanticScreenReader.Announce(CounterBtn.Text);
}
private void OnVolumeChanged(object? sender, ValueChangedEventArgs e)
{
VolumeLabel.Text = $"Volume: {e.NewValue:F0}";
}
}