Ajout de TreeviewItem par code et Template
Bonjour,
je travaille en WPF C# avec le framework 4.0.
J'ai souci sur l'utilisation des Treeview avec un style qui définit un template.
Les noeuds créés dynamiquement ne s'affichent que si le style n'est pas utilisé et je ne vois pas trop pourquoi.
Voici le style défini en xaml :
désolé pour l’indentation par top ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <Style x:Key="TreeNodeStyle" TargetType="{x:Type TreeViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<StackPanel Orientation="Horizontal">
<Image Width="24" Source="{TemplateBinding Tag, Converter={StaticResource ImageNodeDebugInfos}}" />
<TextBlock x:Name="Start" Margin="3,0,0,0" FontWeight="Bold"
VerticalAlignment="Center"
Text="{TemplateBinding Header, Converter={StaticResource RetTreeNodeTextStartpart}, ConverterParameter=:}" />
<TextBlock x:Name="End" Margin="3,0,0,0"
VerticalAlignment="Center"
Text="{TemplateBinding Header, Converter={StaticResource RetTreeNodeTextTrailpart}, ConverterParameter=:}" Foreground="Blue" TextWrapping="WrapWithOverflow" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style> |
et voici la méthode qui crée le noeud et l'affecte à son parent :
Code:
1 2 3 4 5 6
| private void AddTreeViewItem(TreeViewItem Parent, String Str, bool ApplyStyle = true, Object T = null)
{
TreeViewItem I;
I = new TreeViewItem() { Header = Str, Tag = T ,Style = ApplyStyle ? (Style)Resources["TreeNodeStyle"] : null };
Parent.Items.Add(I);
} |
S'il manque des éléments, dites-le moi.
Merci par avance de vos réponses.