我的ListView
有自定义数据模板。
业务对象(例如" Person
"的类型)有很多属性,我想避免为每个属性设置太多绑定,也因为有些属性很难建立。
所以我更愿意设置视图的属性值(例如" PersonCell
")手动/直接,在创建View
之后,它的BindingContext
/ DataContext已设置为" Person"实例
问题:我不知道如何访问这些View
个实例。
是否可以访问为数据项创建的View
?
我会在哪里这样做? (在OnBindingContextChanged
中,我似乎无法访问与提供的数据项/ BindingContext相关联的视图)
答案 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
所在的位置)