J'ai créé deux ressources d'image et je veux les référencer de manière dynamique depuis le HierarchicalDataTemplate d'un contrôle TreeView.Comment puis-je faire référence à des ressources statiques dans WPF lors de l'exécution?
Ceci est mon code XAML:
<TreeView Margin="17,22" Name="TreeView">
<TreeView.Resources>
<BitmapImage x:Key="Icon1" UriSource="pack://application:,,,/icon1.ico"/>
<BitmapImage x:Key="Icon2" UriSource="pack://application:,,,/icon2.ico"/>
</TreeView.Resources>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{StaticResource Icon1}" Margin="0,0,5,0" Width="16" Height="16"/>
<TextBlock Text="{Binding Name}" Margin="0,2,0,0" FontWeight="Normal" FontSize="11"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
Quelle est la syntaxe correcte pour la liaison Source de l'image afin que je puisse sélectionner au moment de l'exécution quelle image statique est affiché?
Merci, c'est exactement ce que je cherchais. – Chris
Bien que je me demande s'il existe un moyen de spécifier le nom de la ressource statique directement à partir d'une propriété sans avoir recours à un déclencheur? – Chris
@Chris: Je ne pense pas que ce soit possible: les liaisons ne peuvent être effectuées que sur DependencyProperties, et StaticResourceExtension.ResourceKey n'est pas un DependencyProperty. Cependant, vous pouvez vous lier directement à BitmapImage, si vous le souhaitez: ' '. Ensuite, 'MyImage' dans votre modèle de données doit contenir le' BitmapImage' à afficher. –
Heinzi