Получить элемент из дерева - PullRequest
2 голосов
/ 23 июля 2010

У меня есть Прямоугольник внутри HierarchicalDataTemplate TreeView.В случае события selectedItemChange Treeview мне нужно изменить цвет прямоугольников, являющихся дочерними для этого выбранного узла.Я не могу назначить имя прямоугольнику во время привязки.Он показывает ошибку «Ожидается текстовое представление для свойства name».Если я могу дать имя прямоугольнику во время привязки, я думаю, что можно изменить его цвет. Есть ли способ решить эту ситуацию.

<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>

1 Ответ

0 голосов
/ 11 августа 2010

Вы меняете цвет, основываясь на одном из свойств предмета? Если это так, вы можете привязать цвет к этому свойству и написать преобразователь значения, если необходимо определить цвет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...