请注意本项目需要 AvaloniaUI 版本 >= 11.x
Stylet.Avalonia是原来Stylet项目对AvaloniaUI 框架的适配。具体介绍请查看Stylet项目介绍
第一步:创建一个Avalonia框架类型的项目
第二步:nuget 管理器安装 Stylet.Avalonia包
第三步:创建ShellViewModel类,以及名为ShellView的窗口组件(Avalonia Window类型),其内容如下【其实啥也没动】
- ShellViewModel.cs
public class ShellViewModel
{
}- ShellView.axaml
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Avalonia.NETCoreApp1.ShellView"
Title="ShellView">
Welcome to Avalonia!
</Window>- ShellView.axaml.cs
public partial class ShellView : Window
{
public ShellView()
{
InitializeComponent();
}
}第四步:找到并打开App.axaml.cs文件,使其继承于StyletApplication<T>其中T为任一ViewModel,当前设置为第三步创建的ShellViewModel,修改后内容如下
public partial class App : StyletApplication<ShellViewModel>
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
base.Initialize(); // 初始化stylet,不能去掉
}
}第五步:运行。快乐的写代码吧!
更多资料点击这里跳转查看。同时,可以查看本仓库中存放的示例项目。
请将avalonia 升级到11.x,升级指南
0.将nuget包XamlNameReferenceGenerator移除(新版本已内置)
1.找到并打开App.axaml文件,移除AppBootstrapper资源,即:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<s:ApplicationLoader>
<s:ApplicationLoader.Bootstrapper>
<local:AppBootstrapper />
</s:ApplicationLoader.Bootstrapper>
</s:ApplicationLoader>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>2.找到并打开App.axaml.cs文件,使其继承于StyletApplication<T>, 此时App.axaml.cs成为了原来AppBootstrapper<ShellViewModel>, 将原来的AppBootstrapper.cs的内容移到App.axaml.cs文件中即可。
其注意:App.axaml.cs文件内Initialize()方法必须调用base.Initialize();