Accéder aux éléments ResourceDictionary par programme
J'ai contrôles Silverlight assemblée, appelée "MySilverlightControls". Plusieurs dossiers vers le bas dans cette assemblée, j'ai une classe qui étend une colonne de grille à partir d'un fournisseur tiers, nous allons l'appeler "MyImageColumn.cs".
J'ai également créé un dictionnaire de ressources appelé Generic.xaml
c'est situé dans le Themes
dossier de l'assemblée. Dans ce dictionnaire de ressources, j'ai défini un ControlTemplate appelé MyImageColumnTemplate:
<ControlTemplate x:Name="MyImageColumnTemplate" >
<Grid Margin="8,8,4,4" MaxHeight="32" MaxWidth="32">
<Grid.Resources>
<localGrid:StatusColumnImageConverter x:Key="ImageContentConverter"/>
</Grid.Resources>
<Border Margin="5,5,0,0" Background="Black" Opacity="0.15" CornerRadius="5" />
<Border Background="#FF6E6E6E" CornerRadius="4,4,4,4" Padding="4" Margin="0,0,5,5">
<Border Background="White" CornerRadius="2,2,2,2" Padding="3">
<Image Source="{Binding EditValue, Converter={StaticResource ImageContentConverter}}" Stretch="Uniform"/>
</Border>
</Border>
</Grid>
</ControlTemplate>
Ma question est: à partir de MyImageColumn, comment pouvez-I du programme de référence/de charge ce modèle de contrôle afin que je puisse l'attribuer à un bien sur la colonne? Je m'attends à être en utilisant une syntaxe similaire à ceci:
ControlTemplate ct = (ControlTemplate)Application.Current.Resources["MyImageColumnTemplate"];
mais cela renvoie toujours null. Lorsque je charge le montage jusqu'à Réflecteur, je vois que le Generic.xaml
fichier est là, le nom de la ressource est MySilverlightControls.g.resources
et le chemin à l'intérieur qui est themes/generic.xaml
.
Exactement comment puis-je obtenir à des éléments individuels dans ce dictionnaire de ressources?
source d'informationauteur slugster
Vous devez vous connecter pour publier un commentaire.
Réussi à le résoudre.
J'avais besoin de:
Dans le cadre de charger le dictionnaire de ressources, j'ai également eu à enregistrer le
pack
schéma d'URI. J'ai ensuite dû faire face à quelques fous COM en fonction des exceptions dues à de légères erreurs dans mon code xaml. Moi aussi j'ai du déplacer mon xaml dans un fichier de dictionnaire de ressources, en essayant de le faire à travers un générique.xaml continué de lancer des boules erreurs (même si le code xaml a été sans faille, et pourrait être bien chargé à l'aide de la ressource nouvellement créée fichier de dictionnaire). Donc, en simplifiant, cela a été le code:J'ai posté les détails complets de cette solution dans ce blog.