Xamarin Forms:访问数据绑定ListView项目的视图?

时间:2017-01-04 11:12:42

标签: listview xamarin.forms

我的ListView有自定义数据模板。 业务对象(例如" Person"的类型)有很多属性,我想避免为每个属性设置太多绑定,也因为有些属性很难建立。

所以我更愿意设置视图的属性值(例如" PersonCell")手动/直接,在创建View之后,它的BindingContext / DataContext已设置为" Person"实例

问题:我不知道如何访问这些View个实例。

是否可以访问为数据项创建的View? 我会在哪里这样做? (在OnBindingContextChanged中,我似乎无法访问与提供的数据项/ BindingContext相关联的视图)

1 个答案:

答案 0 :(得分:0)

如果您将DataTemplate提取到控件中,那么您将拥有:

partial class PersonCell : Grid
{
   public PersonCell()
   {
      InitialiseComponent();
   }

   Protected Override OnBindingContextChanged()
   {
      //set up bindings here
   }
}

在Xaml中定义您的视图

然后在你的ListView中使用它:

<ListView>
  <ListView.ItemTemplate>
     <DataTemplate>
       <custom:PersonCell/>
     </DataTemplate>
  </ListView.ItemTemplate>
</ListView>

custom是您定义的Xaml命名空间(PersonCell所在的位置)