2012-08-01 3 views
0

DataContext를 통해 treeviewitem의 머리글을 설정할 때 클릭 가능한 패딩 픽셀을 몇 개 추가 한 다음 클릭 할 수없는 텍스트를 넣습니다. 나는 심상을 배치 할 것이다; 파란색 : 클릭 가능, 빨간색 : 클릭 불가능.TreeViewItem이 datacontext로 선택할 수 없습니다.

데이터를 저장하는 클래스 :

public class TagClass 
{ 
    public string TagClassMagic { get; set; } 
    public ITagClass RawClass { get; set; } 
    public List<TagEntry> TagEntries = new List<TagEntry>(); 

    public IList Children 
    { 
     get 
     { 
      return new CompositeCollection() 
       { 
        new CollectionContainer() { Collection = TagEntries } 
       }; 
     } 
    } 

} 
public class TagEntry 
{ 
    public string TagFileName { get; set; } 
    public ITagEntry RawTag { get; set; } 
} 

데이터 표시에 대한 XAML :

<TreeViewItem Header="{Binding TagClassMagic}" /> 
<TreeViewItem Header="{Binding TagFileName}" /> 

:이 사람을 제거하는

<TreeView x:Name="tvTagList" Margin="15, 40, 15, 50" ItemsSource="{Binding}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="{x:Null}" BorderBrush="{DynamicResource ExtryzeAccentBrushSecondary}" BorderThickness="2" ScrollViewer.CanContentScroll="True" Foreground="White"> 
    <TreeView.Resources> 
     <HierarchicalDataTemplate DataType="{x:Type DataBind:TagClass}" ItemsSource="{Binding Children}" > 
      <TreeViewItem Header="{Binding TagClassMagic}" /> 
     </HierarchicalDataTemplate> 
     <HierarchicalDataTemplate DataType="{x:Type DataBind:TagEntry}" > 
      <TreeViewItem Header="{Binding TagFileName}" /> 
     </HierarchicalDataTemplate> 
    </TreeView.Resources> 
</TreeView> 
+0

발생하는 일이나 수행하고자하는 것에 대해 설명 하시겠습니까? 모든 것을 클릭 할 수있게 하시겠습니까? –

+0

및 일부 코드를 넣어? –

+0

코드로 업데이트하고 예, 모든 것을 클릭 가능하게하고 싶습니다. 일반 TreeViewItem처럼 –

답변

2

시도를 및 인사 Tead TagEntry에 대한 데이터 템플릿을 적절히 추가하십시오. - 해당 데이터 템플릿에 단순한 텍스트 블록 만 넣으십시오.

+0

완벽하게 작동했습니다. 고맙습니다. –

관련 문제