Avalonia 11.0.0-preview5中的一些更新

[删除(380066935@qq.com或微信通知)]

更好的阅读体验请查看原文:https://www.cnblogs.com/rabbitdong/p/17112648.html

在升级到11.0.0-preview5的过程中,有以下几个破坏性更新需要手动调整。
首先需要先确保项目内所有Avalonia相关的依赖都升级到了11.0.0 preview5

  1. https://github.com/AvaloniaUI/Avalonia/pull/9553
    相当一部分接口被移除,只保留基类。遇到这样的问题只需要把这些接口中的I字母去掉即可

  2. https://github.com/AvaloniaUI/Avalonia/pull/9677
    在Preview5中,ItemsControl生成元素的方法发生了重构。此后ItemsPresenter将不再负责承载Items,转而由ItemsPanel来承载。
    对于样式开发者来说,所有集合类控件的模板都会受到影响,但修复方法比较简单,只需要删掉模板中ItemsPresenter的Items和ItemTemplate两个属性即可

  3. 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>