【Xaml 可复用 UI】 复用布局
本文使用 Avalonia 作为示例平台,但是 WPF 等平台同样可以使用 问题 如果我们很多界面都很类似,那么是否在每个界面上都应该去定义一次布局呢? 思考如下页面: 这是一个十分典型的数据展示页面,基本就只是提供一个增删改查。相信每个人都能在几分钟之内写出完整的布局代码,比如: <Grid RowDefinitions="auto,*,auto,auto" Margin...
本文使用 Avalonia 作为示例平台,但是 WPF 等平台同样可以使用 问题 如果我们很多界面都很类似,那么是否在每个界面上都应该去定义一次布局呢? 思考如下页面: 这是一个十分典型的数据展示页面,基本就只是提供一个增删改查。相信每个人都能在几分钟之内写出完整的布局代码,比如: <Grid RowDefinitions="auto,*,auto,auto" Margin...
本文介绍 MVVM 核心的两个接口:ICommand 和 INotifyPropertyChanged。 双向绑定 双向绑定是实现 MVVM 必不可少的部分,他是沟通 View 与 ViewModel 的桥梁,没有绑定,ViewModel定义的输入输出就无从实现。 但绑定并非魔法,再怎么厉害的绑定引擎也无法发现一个变量何时发生变化,除非修改之后告诉绑定引擎。刚好,有一个接口可以做到这个...
本系列文章面向从未使用过类似框架的 Avalonia 新人,旨在快速构建 MVVM 核心认知,掌握主流 MVVM 框架前置知识,降低框架使用门槛。 如何理解MVVM模式 MVVM 是一种实现 UI 层的模式,M-V-VM 共同构成 UI 本身。关于UI,百科是这么说的: 用户界面(简称UI,亦称使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接...
很久之前,我刚开始学习 Avalonia 的时候,决定开发一个工具包来满足日常需求,当时采用的 UI框架是 Material.Avalonia。但是我对这个框架并不满意,比如说他没有合适的导航菜单,我一直使用的ListBox 模拟,比如他的 ComboBox 有明显bug但是一两年过去都没有修。恰好前些天看到SukiUI基本解决了性能问题,于是决定尝试一下 替换导航菜单 替换导航菜单本来...