Xamarin 中的 Binding .

Posted

技术标签:

【中文标题】Xamarin 中的 Binding .【英文标题】:Binding . in XamarinXamarin 中的 Binding . 【发布时间】:2018-12-01 17:31:25 【问题描述】:

我在一些 Xamarin 代码的 example 中看到了这段代码:

        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Label Text="Binding ." TextColor="#66ffff" FontSize="Micro" HorizontalOptions="CenterAndExpand" />
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>

什么是绑定。意思是?我尝试代码的猜测是 ItemsSource 中的一个字符,就像正则表达式中的一样?但我在documentation 中找不到这个。

【问题讨论】:

我想当我们使用字符串数组并且我们想将该数组绑定到 ListView 时我们没有任何属性 Name 所以我们可以使用 .用于概括。 . 解析为控件的当前DataContext。如果您想知道控件的当前上下文是什么,请放置 TextBlock 并绑定 Text="Binding ." 属性,它将显示上下文是什么。如果您将Binding . 放在ListView 之外,您应该会看到当前的ViewModel。如果你把它放在ItemTemplate 中,那么你将从集合中获取当前项目,该集合被指定为DataContext注意您也可以将其留空。即Text="Binding". 【参考方案1】:

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

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

【讨论】:

以上是关于Xamarin 中的 Binding .的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin + Android + Binding YouTube 视频播放器编译错误

Xamarin Android 使用其他语言的类库

Xamarin 中的 MVVM 绑定

使用_binding!!当我在联网后使用绑定时会产生 NPE

Xamarin.Android Binding-----百度地图SDK

Xamarin iOS Binding 项目似乎不包含库或接口定义