Table of Contents

快速开始

前置条件

安装并运行

dotnet new install CrystalTemplate
dotnet new CT -o MyApp
cd MyApp
dotnet run

App.axaml.cs

public partial class App : CrystalApplication
{
    public override void Initialize() => AvaloniaXamlLoader.Load(this);

    public override void RegisterModules(IModuleRegistrar moduleRegistrar)
    {
        moduleRegistrar.RegisterModule<DemoModule>(); // 可选功能模块
    }

    public override void RegisterServices(IServiceCollection services)
    {
        services.AddMvvmTransient<MainView, MainViewModel>(); // ViewModel → DI,View → 映射
    }

    public override void CreateShell(IServiceProvider sp)
    {
        CreateShell<MainWindow, MainView>(); // Shell → new(不进 DI)
    }
}

View(View-First)

<UserControl ViewModelLocator.AutoWireViewModel="True">
    <TextBlock Text="{Binding Greeting}"/>
</UserControl>

ViewModel-First

<ContentControl Content="{Binding MainViewModel}"/>

下一步