C# 如何从listItem模板绑定到列表本身中的属性?
我有一个类(类a),它包含一个列表(列表a)和一个整数(INTA)。 我还有一个listview,它的itemssource绑定到“list a”。 listitems有一个显示itmes内容的模板(绑定到其属性)。 我还希望模板使用“inta”并显示它 如何将模板(其datacontext为listItem)内的内容绑定到包含列表的类(甚至绑定到列表本身) 谢谢,C# 如何从listItem模板绑定到列表本身中的属性?,c#,wpf,binding,relativesource,C#,Wpf,Binding,Relativesource,我有一个类(类a),它包含一个列表(列表a)和一个整数(INTA)。 我还有一个listview,它的itemssource绑定到“list a”。 listitems有一个显示itmes内容的模板(绑定到其属性)。 我还希望模板使用“inta”并显示它 如何将模板(其datacontext为listItem)内的内容绑定到包含列表的类(甚至绑定到列表本身) 谢谢, 是。如果列表/项目没有引用a类,这是不可能的,因为列表也可以引用到其他地方。 您可以向列表中的对象添加类似于classA Owne
是。如果列表/项目没有引用a类,这是不可能的,因为列表也可以引用到其他地方。
您可以向列表中的对象添加类似于
classA Owner{get;set;}
属性的内容,并在向列表中添加项时将其设置为classA
(如果使用observeCollection
,则CollectionChanged
-事件可以处理此问题).如果列表/项目没有提及a类,这是不可能的,因为列表也可以在其他地方引用。您可以向列表中的对象添加类似于
classA Owner{get;set;}
属性的内容,并在向列表中添加项时将其设置为classA
(如果使用observeCollection
,则CollectionChanged
-事件可以处理此问题).通常,如果相对源绑定的目标控件仍然具有包含以下属性的DataContext,则这应该是可能的:
{Binding DataContext.ThatIntProperty,
RelativeSource={RelativeSource AncestorType=ListView}
通常,如果相对源绑定的目标控件仍然具有包含属性的DataContext,则这应该是可能的:
{Binding DataContext.ThatIntProperty,
RelativeSource={RelativeSource AncestorType=ListView}
好的,谢谢。。。所以我不能绑定到类A,但是我可以绑定到列表A吗?在同一主题中:如果我有一个有两列的网格。。。在中,我将文本框放在第一列:我可以将文本框绑定到包含它的列吗?(让sat打印文本框内列的宽度)理论上,您可以绑定到几乎所有对象,但如果没有对父对象的引用,您无法访问父对象……请参见H.B.关于如何绑定到父对象的回答,这是可行的,因为所有UIElement都有这样的“父引用”默认情况下。可能我不够清楚:我可以将文本绑定到列宽吗?(树上不是他的父母)好的,谢谢。。。所以我不能绑定到类A,但是我可以绑定到列表A吗?在同一主题中:如果我有一个有两列的网格。。。在中,我将文本框放在第一列:我可以将文本框绑定到包含它的列吗?(让sat打印文本框内列的宽度)理论上,您可以绑定到几乎所有对象,但如果没有对父对象的引用,您无法访问父对象……请参见H.B.关于如何绑定到父对象的回答,这是可行的,因为所有UIElement都有这样的“父引用”默认情况下。可能我不够清楚:我可以将文本绑定到列宽吗?(树上不是他的父母)