2011-01-21 97 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为真:

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

当然,最好的方法是你se命令而不是点击处理程序,但我不知道您的演示文稿模型的组成,因此无法提供适当的解决方案。我只需要说,在我们具有相似要求的项目中,我们成功避免了任何查看代码。上帝保佑WPF!