Avalonia 11.0.0-preview5中的一些更新
在升级到11.0.0-preview5的过程中,有以下几个破坏性更新需要手动调整。
首先需要先确保项目内所有Avalonia相关的依赖都升级到了11.0.0 preview5
-
https://github.com/AvaloniaUI/Avalonia/pull/9553
相当一部分接口被移除,只保留基类。遇到这样的问题只需要把这些接口中的I
字母去掉即可 -
https://github.com/AvaloniaUI/Avalonia/pull/9677
在Preview5中,ItemsControl生成元素的方法发生了重构。此后ItemsPresenter将不再负责承载Items,转而由ItemsPanel来承载。
对于样式开发者来说,所有集合类控件的模板都会受到影响,但修复方法比较简单,只需要删掉模板中ItemsPresenter的Items和ItemTemplate两个属性即可 -
https://github.com/AvaloniaUI/Avalonia/pull/10149
在Preview5中新增了一个概念叫做ThemeVariant。此后切换主题将变得更加简单。基于此更改,FluentTheme将不再有Mode属性。
修复方法:删掉FluentTheme的Mode属性,并在Application中指定RequestedThemeVariant
<Application
x:Class="Semi.Avalonia.Demo.Desktop.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
RequestedThemeVariant="Dark" //在此处指定Theme
xmlns:local="using:Semi.Avalonia.Demo.Desktop">
<Application.Styles>
<FluentTheme/>
</Application.Styles>
</Application>