Ik ben bezig met een applicatie waarbij ik mijn resources in een externe assembly defineer. Ik heb bijvoorbeeld een ResourceAssembly (ik gebruik andere namen, maar voor het voorbeeld ...). Daarin heb ik een map, bijvoorbeeld Graphics, en daarin een ResourceDictionary, bijvoorbeeld CommonResources.xaml.
In mijn App.xaml refereer ik deze:
In CommonResources.xaml staat dan zoiets:
Nu wil ik deze resources natuurlijk gebruiken, bijvoorbeeld in één van mijn user controls. Ik doe dan:
• <... Background="{DynamicResource SplashScreenBackground}" />
• <Image x:Name="TeamLogo" Source="{DynamicResource TeamLogo}" />
• <Image x:Name="TeamLogo" Source="{StaticResource TeamLogo}" "/>
Design-time werkt dit altijd en er zijn geen problemen. Echter, run-time gooit de StaticResource een exception op dat de resource niet gevonden kan worden en de DynamicResource die laadt simpelweg niet.
Ik kan het alleen werkend krijgen door de zooi uit mijn resource dictionary te kopieren en plakken in mijn resources van (bijvoorbeeld) mijn UserControl (<UserControl.Resources> dus).
Heeft iemand enig idee waarom het niet werkt @ runtime?
In mijn App.xaml refereer ik deze:
XML:
1
2
3
4
5
| <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/ResourceAssembly;component/Graphics/CommonResources.xaml" /> <!-- en nog een aantal --> </ResourceDictionary.MergedDictionaries> |
In CommonResources.xaml staat dan zoiets:
XML:
1
2
3
4
| <BitmapImage x:Key="Logo" UriSource="/ResourceAssembly;component/Graphics/Logo.png" /> <BitmapImage x:Key="TeamLogo" UriSource="/ResourceAssembly;component/Graphics/TeamLogo.png" /> <SolidColorBrush x:Key="SplashScreenBackground" Color="BlueViolet" /> |
Nu wil ik deze resources natuurlijk gebruiken, bijvoorbeeld in één van mijn user controls. Ik doe dan:
• <... Background="{DynamicResource SplashScreenBackground}" />
• <Image x:Name="TeamLogo" Source="{DynamicResource TeamLogo}" />
• <Image x:Name="TeamLogo" Source="{StaticResource TeamLogo}" "/>
Design-time werkt dit altijd en er zijn geen problemen. Echter, run-time gooit de StaticResource een exception op dat de resource niet gevonden kan worden en de DynamicResource die laadt simpelweg niet.
Ik kan het alleen werkend krijgen door de zooi uit mijn resource dictionary te kopieren en plakken in mijn resources van (bijvoorbeeld) mijn UserControl (<UserControl.Resources> dus).
Heeft iemand enig idee waarom het niet werkt @ runtime?
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]