2010-07-23 95 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

显示DataTemplate的Xaml – AnthonyWJones 2010-07-23 09:55:55

+0

我已将xaml添加到问题中 – saknet 2010-07-23 10:20:23

回答

0

您是否根据项目的某个属性更改颜色?如果是这样,您可以将颜色绑定到该属性,并根据需要编写值转换器以确定颜色。