直接上手 ReactiveUI + Avalonia 仅需三步:选对模板(新建项目时勾选“Avalonia .NET MVVM App”并指定 ReactiveUI)、装好包(含 ReactiveUI.SourceGenerators)、写对绑定(用 RaiseAndSetIfChanged 或 [Reactive] 属性、ReactiveCommand 或 [ReactiveCommand] 方法、Routing 导航)。

直接上手 ReactiveUI + Avalonia,关键就三步:选对模板、装好包、写对绑定。不用从零配环境,官方模板已集成支持。
用 Visual Studio 或 Rider 新建 Avalonia 项目时,在模板选择页明确勾选 “Avalonia .NET MVVM App”,下一步中 MVVM Toolkit 选项里必须选 ReactiveUI(不是 CommunityToolkit 或默认空选项)。这一步决定后续所有 ViewModel 基类、命令写法和绑定语法是否原生可用。
ReactiveUI.ViewModelBase
x:DataType 默认指向对应 ViewModel,启用编译时绑定检查ReactiveUI 提供两种主流方式让属性变更自动通知 UI:
this.RaiseAndSetIfChanged(ref _field, value) 替代传统 INotifyPropertyChanged 实现[Reactive] 特性(需引用 ReactiveUI.SourceGenerators),编译期生成完整属性逻辑,代码更干净例如:
Android文档-开发者指南-第一部分:入门-中英文对照版 Android提供了丰富的应用程序框架,它允许您在Java语言环境中构建移动设备的创新应用程序和游戏。在左侧导航中列出的文档提供了有关如何使用Android的各种API来构建应用程序的详细信息。第一部分:Introduction(入门) 0、Introduction to Android(引进到Android) 1、Application Fundamentals(应用程序基础) 2、Device Compatibility(设备兼容性) 3、
11
[Reactive] public string? UserName { get; set; }<br>[Reactive] public bool IsLoading { get; set; }用户操作(如按钮点击)不直接写事件处理函数,而是暴露 ReactiveCommand 属性:
public ReactiveCommand<unit unit> SubmitCommand { get; }</unit>,构造函数中用 ReactiveCommand.Create(() => { ... })
[ReactiveCommand] 特性(同样依赖 SourceGenerators),方法自动转为命令,支持 CanExecute 和执行异步逻辑Command="{Binding SubmitCommand}",无需 CommandParameter 包装ReactiveUI 内置路由系统,适合多页应用:
RoutableViewModel,声明 RoutingState 实例ReactiveViewModel,并实现 IActivatableViewModel
Router.Navigate.Execute(new DetailViewModel()),返回用 Router.NavigateBack()
WhenActivated 块里,避免内存泄漏基本上就这些。不复杂但容易忽略的是:每次新建 ViewModel 都要确认基类是 ReactiveUI 的,而不是 Avalonia 自带的 ViewModelBase;绑定语法保持一致,别混用 CommunityToolkit 的 [ObservableProperty]。跑通一个按钮 + 文本更新,后面就顺了。
以上就是Avalonia如何使用ReactiveUI框架 Avalonia ReactiveUI入门的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号