특정 노드를 클릭 할 때 동적으로 채우는 Silverlight TreeView 컨트롤이 있습니다. 예를 들어, 노드의 1 세대 (레벨)를로드 한 다음 사용자가 노드 중 하나를 클릭하면 Selected 이벤트를 사용하여 해당 노드의 하위 항목 등을 채 웁니다. 데이터베이스에서 bool 각 노드 값이 새 노드에 하위 노드가 있는지 여부를 나타내는 값입니다.Silverlight에서 프로그래밍 방식으로 확장 화살표 표시 TreeView
아이가있는 새 노드 앞에 표시되도록 확장 화살표를 설정하려고하지만 캐치는 자식이 아직 채워지지 않을 것이라는 점입니다. 아마도 HasChild를 내 bool 값으로 설정한다고 생각했지만 HasChild는 읽기 전용입니다. 어떤 제안이라도 대단히 감사 할 것입니다.
나는 공허한 아이를 생각하고 전에 그것을 시도했다. 그것은 대단히 잘 작동하지만 다음 특정 이름 (예 : 4555667)을 가진 특정 노드가 이미 있다고 말하는 일부 데이터에서이 이상한 오류가 발생합니다. 내 디버거를 통해 실행하고 내 데이터를 트리플 확인하지만 중복 될 곳을 볼 수 없습니다. –
그건 나쁘지, 내 진짜 잘 밖으로 작동합니다. 다시 추가하기 전에 기존 자녀를 삭제 하시겠습니까? 어떤 방법이나 구성 요소가 오류의 원인인지 알 수 있습니까? – Paully
저는 노드를 채우는 두 가지 함수, 즉 초기 채우기를 수행하는 함수와 모든 하위 시퀀스 자식을 수행하는 함수를 갖습니다. 내 첫 번째 함수는 완벽하게 채워질 것이다. 한 예를 들면, 나는 그들 중 4 명이 아이들 (빈 아이들)을 가진 10 개의 기록을 가지고있다. 자식 채우기 기능을 실행할 때 노드에 자식 노드가있는 자식 노드가 두 개 이상 포함되어 있으면 노드에 해당 이름이 이미 있음을 알 수있는 오류가 발생합니다 (모든 노드의 이름을 노드의 ID로 지정하고 데이터 중복이 없음을 확인했습니다.) 제 코드를보고 싶습니까? –