启动应用
修改 App.axaml
在 App.axaml
的 Styles
中添加 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
有两种可能的解决方案:
- 调整
Avalonia
和SukiUI
的版本直到异常消失 - 在保证
Avalonia
是最新版本(包括 beta)的情况下,引用来自 Github Action 的.dll
构建,然后执行以下步骤