# Stylet.Avalonia
**Repository Path**: hate918258/Stylet.Avalonia
## Basic Information
- **Project Name**: Stylet.Avalonia
- **Description**: No description available
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-03
- **Last Updated**: 2025-12-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
 Stylet.Avalonia
======================================
[英文文档](./README-EN.md)
> 请注意本项目需要 AvaloniaUI 版本 >= 11.x
## 项目介绍
`Stylet.Avalonia`是原来[Stylet](https://github.com/canton7/Stylet)项目对[AvaloniaUI](https://github.com/AvaloniaUI/Avalonia) 框架的适配。具体介绍请查看[Stylet项目介绍](https://github.com/canton7/Stylet)
## 快速开始
第一步:创建一个Avalonia框架类型的项目
第二步:nuget 管理器安装 `Stylet.Avalonia`包
第三步:创建`ShellViewModel`类,以及名为`ShellView`的窗口组件(`Avalonia Window`类型),其内容如下【其实啥也没动】
- ShellViewModel.cs
```c#
public class ShellViewModel
{
}
```
- ShellView.axaml
```xaml
Welcome to Avalonia!
```
- ShellView.axaml.cs
```csharp
public partial class ShellView : Window
{
public ShellView()
{
InitializeComponent();
}
}
```
第四步:找到并打开`App.axaml.cs`文件,使其继承于`StyletApplication`其中`T`为任一`ViewModel`,当前设置为第三步创建的`ShellViewModel`,修改后内容如下
```c#
public partial class App : StyletApplication
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
base.Initialize(); // 初始化stylet,不能去掉
}
}
```
第五步:运行。快乐的写代码吧!
## 其他
更多资料点击[这里](https://github.com/canton7/Stylet/wiki)跳转查看。同时,可以查看本仓库中存放的示例项目。
## 从 0.0.1升级?
> 请将avalonia 升级到11.x,[升级指南](https://docs.avaloniaui.net/docs/next/stay-up-to-date/upgrade-from-0.10)
0.将`nuget`包`XamlNameReferenceGenerator`移除(新版本已内置)
1.找到并打开`App.axaml`文件,移除`AppBootstrapper`资源,即:
```xaml
```
2.找到并打开`App.axaml.cs`文件,使其继承于`StyletApplication`, 此时`App.axaml.cs`成为了原来`AppBootstrapper`, 将原来的`AppBootstrapper.cs`的内容移到`App.axaml.cs`文件中即可。
***其注意***:`App.axaml.cs`文件内`Initialize()`方法必须调用`base.Initialize();`