数据绑定语法
在Avalonia中,您可以使用XAML或代码定义数据绑定。要在XAML中定义数据绑定,您可以使用数据绑定标记扩展,其语法如下所述。
数据绑定标记扩展
数据绑定标记扩展使用关键字Binding
,结合定义数据源和其他选项的参数。标记扩展的格式如下:
<SomeControl SomeProperty="{Binding Path, Mode=ModeValue, StringFormat=Pattern}" />
当有多个选项参数时,它们之间用逗号分隔。
参数 | 描述 |
---|---|
Path | 数据绑定路径。 |
Mode | 绑定模式之一,见下文。 |
StringFormat | 显示值的格式化模式。 |
ElementName | 可以通过在路径中使用#来缩短。 |
Converter | 用于转换值的函数。 |
RelativeSource | 在视觉树中工作,而不是逻辑树。 |
数据绑定路径
第一个参数通常是数据源的路径。数据源是Avalonia在执行数据绑定时找到的数据上下文中的对象。
在这里,不需要使用参数名Path
。因此,以下绑定是等效的:
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Path=Name}"/>
绑定路径可以是单个属性,也可以是属性链。例如,如果数据源有一个Student
属性,该属性返回的对象具有一个Name
属性,您可以使用以下语法绑定到学生姓名:
<TextBlock Text="{Binding Student.Name}"/>
如果数据源有一个数组或列表(带有索引器),则可以将索引添加到绑定路径中,如下所示:
<TextBlock Text="{Binding Students[0].Name}"/>