2010-07-23 9 views
2

TreeView의 HierarchicalDataTemplate 안에 Rectangle이 있습니다. Treeview selectedItemChange 이벤트에서 그 선택한 노드 아래에 자식으로 오는 사각형의 색을 변경해야합니다. 바인딩하는 동안 사각형에 이름을 할당 할 수 없습니다. '이름 속성에 대해 텍스트 표현이 필요합니다.'라는 오류가 표시됩니다. 바인딩하는 동안 사각형에 이름을 붙일 수 있다면 색상을 변경할 수 있다고 생각합니다.이 상황을 해결할 방법이 있습니까?TreeView에서 요소 가져 오기

<controls:TreeView x:Name="tree" ItemsSource="{Binding Path=Source, Source={StaticResource SourceClass}}" Margin="0,0,8,0" Background="#FFF8D1D1" Grid.RowSpan="4" SelectedItemChanged="tree_SelectedItemChanged" > 
     <controls:TreeView.ItemTemplate> 
      <data:HierarchicalDataTemplate ItemsSource="{Binding Children}">      
       <StackPanel> 
        <Rectangle Width="20" Height="20" Stroke="Black" Fill="Red" ToolTipService.ToolTip="{Binding Name}" DataContext="{Binding Name}" MouseLeftButtonDown="Rectangle_MouseLeftButtonDown"> 
        </Rectangle> 
        <TextBlock Text="{Binding Name}" ></TextBlock> 

       </StackPanel> 

      </data:HierarchicalDataTemplate> 
     </controls:TreeView.ItemTemplate> 
    </controls:TreeView> 
+0

Xaml of DataTemplate 표시 – AnthonyWJones

+0

질문에 xaml을 추가했습니다. – saknet

답변

0

항목의 속성 중 하나를 기준으로 색상을 변경하고 있습니까? 그렇다면 색을 해당 속성에 바인딩하고 필요할 경우 색을 결정하는 값 변환기를 작성할 수 있습니다.

관련 문제