2 Stimmen

Ein Element aus dem Treeview holen

Ich habe ein Rechteck innerhalb des HierarchicalDataTemplate eines TreeViews. Auf selectedItemChange-Ereignis von Treeview muss ich die Farbe der Rectangles kommen als Kinder unter diesem ausgewählten Knoten zu ändern. Ich bin nicht in der Lage, einen Namen für das Rechteck während der Bindung zuzuweisen. Es wird eine Fehlermeldung 'Textdarstellung erwartet für Name Eigenschaft' angezeigt. Wenn ich dem Rechteck während der Bindung einen Namen zuweisen kann, ist es möglich, seine Farbe zu ändern.

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

0voto

Mike Punkte 323

Ändern Sie die Farbe auf der Grundlage einer der Eigenschaften des Objekts? Wenn ja, könnten Sie die Farbe an diese Eigenschaft binden und gegebenenfalls einen Wertkonverter schreiben, um die Farbe zu bestimmen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X