2011-01-21 1 views

답변

1
옆 세터와 나무 항목에 대한 스타일을 만들어야합니다

:

 <Style x:Key="TreeItemStyle" 
       TargetType="{x:Type TreeViewItem}">     
      <Setter Property="IsExpanded" 
        Value="{Binding Path=IsExpanded, Mode=TwoWay}"/> 
     </Style> 

는 그런 다음에 추가 그룹보기 데이터 클래스으로 IsExpanded라는 이름의 관찰 특성 :

private bool _isExpanded; 

    public bool IsExpanded 
    { 
     get 
     { 
      return this._isExpanded; 
     } 
     set 
     { 
      if (this._isExpanded != value) 
      { 
       this._isExpanded = value; 
       this.OnPropertyChanged("IsExpanded"); 
      } 
     } 
    } 

그런 다음 하이퍼 링크 클릭 이벤트 차단 및 IsExpanded를 true로 설정하십시오.

private void Hyperlink_Click(object sender, RoutedEventArgs e) 
    { 
     var dc = ((Hyperlink)sender).DataContext; 
     if (dc is GroupViewData) 
     { 
      ((GroupViewData)dc).IsExpanded = true; 
     } 
    } 

물론 가장 좋은 방법은 다음과 같습니다. se 명령 대신 클릭 핸들러를 사용하지만 프리젠 테이션 모델의 구성을 알지 못해 적절한 솔루션을 제공 할 수 없습니다. 모든 요구 사항을 가진 프로젝트에서 뷰 코드를 성공적으로 피할 수 있다고 말하면됩니다. 신의 축복이 WPF!