我有一个包含列表(列表 A)和整数(int A)的类(类 A)。我还有一个列表视图,它的 itemssource 绑定到“列表 A”。listitems 有一个模板来显示它的内容(绑定到它的属性)。我还希望模板使用“int A”并显示它。
如何将模板内的某些内容(其数据上下文是 listItem)绑定到包含列表的类(甚至是列表本身)?
谢谢,尤斯。
我有一个包含列表(列表 A)和整数(int A)的类(类 A)。我还有一个列表视图,它的 itemssource 绑定到“列表 A”。listitems 有一个模板来显示它的内容(绑定到它的属性)。我还希望模板使用“int A”并显示它。
如何将模板内的某些内容(其数据上下文是 listItem)绑定到包含列表的类(甚至是列表本身)?
谢谢,尤斯。
通常,这应该可以通过一个相对源绑定来实现,该绑定以一个控件为目标,该控件仍然具有包含该属性的 DataContext:
{Binding DataContext.ThatIntProperty,
RelativeSource={RelativeSource AncestorType=ListView}}
如果列表/项目没有引用那是class A
不可能的,因为列表也可以在其他地方引用。
您可以向列表中的对象添加类似classA Owner {get;set;}
属性的内容,并class A
在将项目添加到列表时将其设置为(CollectionChanged
如果您使用 -event 可以处理ObservableCollection
)。