2012-01-23 6 views
1

목록 (목록 A) 및 정수 (int A)가 포함 된 클래스 (클래스 A)가 있습니다. itemssource가 "list A"에 바인딩되어있는 listview도 있습니다. listitem에는 itmes 내용 (속성에 바인딩 된)을 보여주는 템플릿이 있습니다. 또한 템플릿에 "int A"를 사용하여 표시하려고합니다.listItem 템플릿에서 목록 자체의 속성에 바인딩하는 방법은 무엇입니까?

어떻게 목록 (또는 목록 자체)이 포함 된 클래스에 템플릿 (datacontext는 listItem) 내부에 뭔가를 바인딩 할 수 있습니까?

감사합니다. 요요.

답변

0

목록/항목에 class A에 대한 참조가 없으면 목록을 다른 곳에서도 다시 작성할 수 있기 때문에 가능하지 않습니다.
classA Owner {get;set;} 속성을 목록의 개체에 추가하고 목록에 항목이 추가 될 때마다 으로 설정할 수 있습니다 (CollectionChanged -event는 ObservableCollection을 사용하는 경우이를 처리 할 수 ​​있습니다). 보통

+0

그래, 덕분에 ... 그래서 클래스 A에 결합하지만 할 수 없습니다 나는 목록 A에 묶는다? – yossi

+0

그리고 같은 제목에서 : 내가 2 열을 가지고있는 그리드가있는 경우 ... 첫 번째 열에 텍스트 ox를 넣습니다. 텍스트 상자를 그 열에 바인딩 할 수 있습니까? 그것을 포함합니까? (sat는 텍스트 상자 안의 열 너비를 인쇄 할 수 있습니다.) – yossi

+0

이론 상으로는 거의 모든 것에 바인딩 할 수 있지만, 참조없이 'Parent'-Object에 접근 할 수는 없습니다 ... – ChrFin

1

그 상대 소스가 목표하는 것이 여전히 특성이 포함 된 DataContext에있는 컨트롤 바인딩 수 있어야한다 :

{Binding DataContext.ThatIntProperty, 
     RelativeSource={RelativeSource AncestorType=ListView}} 
관련 문제