如何解决如何在创建 DataTemplate 时获取绑定上下文
有没有办法在枚举模板中获取绑定上下文本身?
this.CollectionView.ItemTemplate = new DataTemplate(() =>
{
var view = new SubView();
view.SetBinding(SubView.sourceProperty,new Binding()
{
Source = ??? // <- here
});
return view;
};
注意:Path = "."
在 Android 上运行良好。但在 iOS 上,源是重复的。
我已经检查过 CollectionView.ItemsSource 中没有重复项。
解决方法
我是这个平台的新手,希望能帮到你。 我了解您想要获取列表中每个元素的 BindingContext。如果我的解释正确,那么您可以这样做:
public partial class NotificationsPage : ContentPageBase
{
public NotificationsPage()
{
InitializeComponent();
CollectionView.ItemTemplate = new DataTemplate(() =>
{
return new Item();
});
}
}
public class Item : ContentView
{
protected override void OnBindingContextChanged()
{
base.OnBindingContextChanged();
if (BindingContext is ItemModel item)
{
var name = item.Name;
}
}
}
public class ItemModel
{
public string Name { get; set; }
}
DataTemplate 不包含可访问的 BindingContext,BindingContext 被传递给包含 DataTemplate 的元素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。