예, 가능합니다. 그러나 그것이 합법적 인 일임을 알리십시오.
) 아직로드되지 않은 경우
처음에는 이러한 모델의 목록이 있지만 컬렉션 ChildTtems는 빈 항목으로 구성되어야합니다. 하위 항목 컬렉션이 비어있는 경우 상위 항목을 확장 할 수 없습니다.
다음 단계 - IsExpanded 속성을 바인딩하십시오. 해결책은 this link에 있습니다.
private bool isExpanded;
public bool IsExpanded
{
get { return isExpanded; }
set
{
isExpanded = value;
OnPropertyChanged("IsExpanded");
if(isExpanded)
this.UpdateChildItems();
}
}
public ObservableCollection<HierarchyViewModel> ChildItems { get; set; }
void UpdateChildItems()
{
//Check wheter the child items are blank (this.ChildItems.Any(ci=>ci.IsBlank))
//and if answer is yes, receive real items from service,
//transform each of them to a viewmodel class and set IsBlank=false
}
또한 각 항목에 대해 여러 하위 항목을 받고 빈 항목 모음을 생성해야합니다.
감사합니다. 그러나 Silverlight의 XAML에서 "IsExpanded"바인딩을 설정할 가능성이 없습니다. TreeView 및 TreeViewItem 클래스를 서브 클래 싱하여 바인딩을 하드 코딩해야합니다. – Tom
예, 파생 클래스가 있어야하지만 문제가 없습니다.이 클래스는 동일한 속성을 가지며 같은 방식으로 스타일을 지정할 수 있기 때문입니다. – vorrtex