Skip to main content

🔧 属性表

属性表是当前选中节点对应的对象的属性查看/编辑表,它列出了对象所有的公开/私有的:

  • AvaloniaProperties
  • AttachedProperties
  • CLR Properties
  • Fields

快捷键

快捷键功能备注
Ctrl + F激活 DevTools 窗口并聚焦到属性过滤框 / 激活应用主窗口
Alt + Enter将当前过滤参数添加为过滤参数模板聚焦属性过滤框,且有过滤参数
Alt + D删除当前选中的过滤模板聚焦属性过滤框,且有过滤参数
选中一个模板聚焦属性过滤框,模板选择
Alt + Space选中一个模板聚焦属性过滤框,模板选择
选中一个模板聚焦属性过滤框,模板选择
Shift + Space选中一个模板聚焦属性过滤框,模板选择
Enter选中当前模板聚焦属性过滤框,模板选择
选中一个属性聚焦属性过滤框
选中一个属性聚焦属性过滤框
Enter打开当前属性编辑/保存变更并关闭属性编辑聚焦属性过滤框

属性过滤

属性表支持过滤。当 Avalonia 应用拥有键盘焦点时,Ctrl + F 键即可快速聚焦到属性过滤框。

tip

当属性过滤框已经拥有焦点时,Ctrl + F 键则是激活当前应用的主窗口。它可以快速地在主窗口和 DevTools 窗口之间进行切换。

  1. 模糊过滤
按钮描述
大小写敏感
是否全词匹配
是否使用正则表达式
  1. 多参数过滤
tip

属性表的多参数过滤,以逗号分隔,过滤结果为各个参数过滤的结果并集。

过滤参数
text,back,margin,padding,transform
  1. 参数模板
  • 保存模板:存在过滤参数的情况下,使用 Ctrl + Enter 可以将当前参数保存到参数模板中。在弹窗中输入参数名称,按 Enter 即可保存。
  • 使用模板:输入 . 打开模板选择模式。该模式下, 键可以切换模板,按 Enter 即可应用模板。继续输入可以过滤模板。

属性展示说明

不同类型的属性拥有不同的展示形式,包括:

形式说明
只读属性,无法编辑
0, 0, 0, 0布局相关 struct 类型,包括 Point,Size,Rect,PixelPoint,RelativePoint,CornerRadius,Thickness
3245.3数值类型,包括 double,int,long, decimal
CenterEnum 类型,例如 HorizontalAlignment 等
MainViewModelObject 类型
"This is a string"String 类型
[🖥️] ButtonVisual 及其子类
[🧾] Enumerable[ 23 ] ListIEnumerable / List 类型
Bool 类型:是 / 否
______ #8722f4IBrush 类型

属性编辑

非只读属性/字段都是可以编辑的。不同类型的属性/字段拥有不同的编辑形式。目前我们支持了 String、Enum、FontFamily、Brush、Matrix、IEasing、GridLength 等特殊类型的展示和编辑。 其他复杂类型仍然使用属性表展示。

tip

属性编辑是通过单击属性值单元格展开的下拉框进行的。

对象查看

查看对象有三种方式,除了上述的属性编辑,还可以通过右键属性值单元格,选择【查看对象详情】,或者双击属性名单元格会直接在当前属性表中展示属性值对象,需要注意,简单的类型,例如上述的可编辑对象将会以属性表的形式展示,而不会编辑该对象。

tip

属性值的单元格右键菜单包括:

  • 查看对象详情(弹窗打开对象的属性列表)
  • 清除值
  • 监控属性。
  • 查看值信息
  1. 查看对象详情

查看对象详情功能可以使用弹出属性表的形式查看任何类型的对象。例如,double 类型的属性编辑是输入框,展开详情则如下图所示:

  1. 切换属性表源对象

双击属性名单元格会直接在当前属性表中展示属性值对象,并且记忆在搜索框下面的对象列表当中,如下图所示:

tip

点击记忆的对象列表中的节点,可以切换到节点对应的对象上。

监控属性

在属性值的单元格右键菜单中,有【监控属性】命令,开启后,所有的属性变更将会被记录到变更列表。点击【查看值信息】即可打开列表,选中变更项,即可查看值变更的堆栈信息。

属性更新

依赖属性和具有通知的普通 CLR 属性的变更会自动刷新,普通 CLR 属性和字段的变更,我们进行了定时刷新,刷新间隔是 100ms

属性固定

我们支持置顶属性,置顶的属性对所有应用,所有对象生效。置顶/取消置顶通过点击属性行的序号即可。

方法调用

属性表右下角按钮 Method 展开后展示了所有无参函数,点击可以调用该函数。

tip

目前调试工具仅支持无参函数,后续将支持其他函数的调用。