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

您是否根據項目的某個屬性更改顏色?如果是這樣,您可以將顏色綁定到該屬性,並根據需要編寫值轉換器以確定顏色。