View Issue Details

IDProjectCategoryView StatusLast Update
0001379NoesisGUIC# SDKpublic2020-02-19 19:35
Reporterai_enabled Assigned Tosfernandez  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Product Version2.2.0 
Target Version3.0.0Fixed in Version3.0.0 
Summary0001379: New approach for loading ResourceDictionary similar to WPF's Application.Resources
Description

This feature will allow us to reduce the MergedDictionaries cross-referencing bloat we have in our ResourceDictionaries by referencing all of them in a single ResourceDictionary similar to how WPF's Application.Resources works. Supposedly, it will also improve loading times, performance and memory usage due to fewer resources duplication.

Feature explanation:
In WPF it's possible to reference any resource from Style1.xaml from Style2.xaml if they're both referenced from the Application ResourceDictionary (via MergedDictionaries). So Style2.xaml doesn't need to have a MergedDictionaries entry for Style1.xaml. (please see the attached WPF project source demonstrating this approach)

However, it's impossible to use with NoesisGUI due to API limitations. When NoesisGUI loading Resources.xaml via GUI.LoadXaml(pathToFile) it starts loading all the merged MergedDictionaries one by one - Style1.xaml, then Style2.xaml. And here an exception happens as Style2.xaml references some static resource from Style1.xaml and NoesisGUI cannot locate it.

A special API is required to allow this scenario. For example:
<code>
var applicationResourceDictionary = GUI.LoadApplicationResourcesXaml("Resources.xaml");
GUI.SetApplicationResources(applicationResourceDictionary);
</code>

Regards!

Attached Files
WpfSampleMergingRes.7z (5,673 bytes)
PlatformAny

Activities

sfernandez

sfernandez

2020-02-19 19:35

manager   ~0006098

Last edited: 2020-02-19 19:35

GUI.LoadApplicationResources(string filename) will load a dictionary that can have static resource references to previous dictionaries in the list of MergedDictionaries.

Issue History

Date Modified Username Field Change
2018-12-21 17:45 ai_enabled New Issue
2018-12-21 17:45 ai_enabled File Added: WpfSampleMergingRes.7z
2018-12-21 17:46 ai_enabled Description Updated
2018-12-24 10:32 sfernandez Assigned To => sfernandez
2018-12-24 10:32 sfernandez Status new => assigned
2019-11-13 09:29 sfernandez Target Version => 2.3.0
2020-02-19 19:33 sfernandez Status assigned => resolved
2020-02-19 19:33 sfernandez Resolution open => fixed
2020-02-19 19:33 sfernandez Fixed in Version => 3.0.0
2020-02-19 19:33 sfernandez Target Version 2.3.0 => 3.0.0
2020-02-19 19:35 sfernandez Note Added: 0006098
2020-02-19 19:35 sfernandez Note Edited: 0006098