내 지식에는 그런 내장 된 방법이 없습니다. 재귀를 사용하지 않는 것이 중요하다면 HashSet<GridEXRow>
과 함께 RowCollapsed
및 RowExpanded
이벤트를 사용하여 확장/축소 된 행을 등록하고 등록을 취소하는 것이 좋습니다. 모든 확장 할 때 거기에이 방법을 사용하면 성능 저하 될 수 있다고
public class ...
{
...
HashSet<GridEXRow> expandedRows = new HashSet<GridEXRow>();
public bool IsExpanded
{
get { return expandedRows.Count > 0; }
}
...
private void gridEX_RowCollapsed(object sender, Janus.Windows.GridEX.RowActionEventArgs e)
{
expandedRows.Remove(e.Row);
}
private void gridEXLocation_RowExpanded(object sender, Janus.Windows.GridEX.RowActionEventArgs e)
{
expandedRows.Add(e.Row);
}
}
주 및 붕괴 (모든 행이 expandedRows에 추가). 모두 축소하면 expandedRows가 삭제되지만 모두 접혀도 각 행에 대해 RowCollapsed
이 계속 트리거됩니다. 처음에는 이벤트를 제거한 다음 다시 넣지 않고 expandedRows.Clear();
을 수행하는 것과 같은 바로 가기가 없습니다.