Skip to content

启动应用

修改 App.axaml

App.axamlStyles 中添加 SukiTheme

xml
<Application
    ...
    xmlns:sukiUi="clr-namespace:SukiUI;assembly=SukiUI"
    >
    <Application.Styles>
        <sukiUi:SukiTheme ThemeColor="Blue"  />
    </Application.Styles>
</Application>

WARNING

如果没有设置主题色 ThemeColor,创建的窗口和许多控件都会变成透明

将 MainWindow 更改为 SukiWindow

原来的 MainWindow.axaml:

xml
<Window
    x:Class="SukiTest.MainWindow"
    xmlns="https://github.com/avaloniaui"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</Window>

修改后的 MainWindow.axaml:

xml
<sukiUi:SukiWindow
    x:Class="SukiTest.MainWindow"
    xmlns="https://github.com/avaloniaui"
    xmlns:sukiUi="clr-namespace:SukiUI.Controls;assembly=SukiUI"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</sukiUi:SukiWindow>

原来的 MainWindow.axaml.cs:

csharp
using Avalonia.Controls;

namespace SukiTest;

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
}

修改后的 MainWindow.axaml.cs:

csharp
using SukiUI.Controls; 

namespace SukiTest;

public partial class MainWindow : SukiWindow
{
    public MainWindow()
    {
        InitializeComponent();
    }
}

完成

顺利完成以上步骤后,SukiUI 项目便已成功创建。创建项目后,建议参阅 设置主题SukiWindow 页面

WARNING

如果你遇到了包括但不限于以下异常:

  • SukiWindow not found Issue#265
  • System.MissingMethodException: Method not found: System.Collections.Generic.IReadOnlyList`1<System.Object> Avalonia.Markup.Xaml.XamlIl.Runtime.IAvaloniaXamlIlEagerParentStackProvider.get_DirectParents() Issue#276
  • Unable to resolve type SukiTheme from namespace clr-namespace:SukiUI;assembly=SukiUI Discussion#276

有两种可能的解决方案:

  • 调整 AvaloniaSukiUI 的版本直到异常消失
  • 在保证 Avalonia 是最新版本(包括 beta)的情况下,引用来自 Github Action.dll 构建,然后执行以下步骤