在Xamarin中的{Binding .}

3
我在一段Xamarin代码的示例中看到了这段代码:
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Label Text="{Binding .}" TextColor="#66ffff" FontSize="Micro" HorizontalOptions="CenterAndExpand" />
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>

绑定“.”是什么意思?从尝试代码的结果来看,我的猜测是它类似于正则表达式中的ItemsSource中的一个字符?但我在文档中找不到相关信息。

1
我认为当我们使用字符串数组并且想要将该数组绑定到ListView时,此时我们没有任何属性名称,因此我们可以使用“.”进行泛化。 - Srusti Thakkar
1
. 解析为控件的当前 DataContext。如果您想知道控件的当前上下文是什么,请放置一个 TextBlock 并绑定 Text="{Binding .}" 属性,它将显示上下文是什么。如果您将 Binding . 放在 ListView 外部,则应该看到当前的 ViewModel。如果您将其放在 ItemTemplate 内部,则会从已分配为 DataContext 的集合中获取当前项。注意 您也可以将其留空。即 Text="{Binding}" - XAMlMAX
1个回答

5

点(.)表示您将整个对象/模型绑定到该标签的文本属性,而不是单个属性。有时需要这样做,例如在转换器中需要多个方面从模型中获得。

在上面的代码示例中,也可能是该列表视图的项目源是字符串列表。因此,没有要绑定到文本属性的属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接