Обновление с версии 0.10
Avalonia 11 introduces a number of breaking changes from 0.10. The following guide converse the most commonly-encountered changes and gives solutions for them.
Обновление проекта
- Обновите пакеты Avalonia до версии 11.x
- Themes больше не находятся в пакете
Avalonia.Desktop, поэтому вам необходимо добавить один из следующих:Avalonia.Themes.FluentAvalonia.Themes.Simple
- Удалите ссылку на пакет
XamlNameReferenceGenerator- теперь Avalonia по-умолчанию имеет встроенный генератор. - Если требуется, обновите
<LangVersion>хотя бы до 9 версии, чтобы использоватьInit-only Properties - Если вы хотите использовать те же шрифты, что и в версии
0.10, то добавьте пакетAvalonia.Fonts.Inter, а также.WithInterFont()вapp builder. С версии 11.0, по-умолчанию не поддерживаются сторонние шрифты.
Theme Handling
Для версии 0.10, тема указывается внутри тега Application.Styles в файле Application.axaml.
Пример:
<Application.Styles>
<FluentTheme Mode="Light"/>
</Application.Styles>
В примере выше, для тега FluentTheme указывается атрибут Mode, через который задается режим темы.
Он может быть как Light, так и Dark.
Для улучшения управления темами, в тег Application был добавлен атрибут RequestedThemeVariant.
Он используется для установки темы приложения, в обход системной.
Если требуется, чтобы приложение соответствовала системной теме, то необходимо установить значение Default.
Другие доступные варианты: Light и Dark.
Пример использования:
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ILoveAvaloniaUI.App"
xmlns:local="using:ILoveAvaloniaUI"
RequestedThemeVariant="Default">
Тег FluentTheme больше не требует обязательного указания атрибута Mode.
<Application.Styles>
<FluentTheme />
</Application.Styles>