Changes

/* NextLevel and CachedNextLevel */
Although NextLevel is often used in customizing, it is actually <b>not recommended</b> and should not be used, due to the potentially significant performance impact of loading multiple levels of data (described in [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#Why_is_NextLevel_not_recommended?|Why is NextLevel not Recommended?]]). Instead, UBIK offers the safer alternative, CachedNextLevel, which presents NextLevel data only when it has been explicitly loaded, using the command described in the next section; the LoadNextLevelCommand.
The CachedNextLevel is a cache of NextLevel data that has been successfully loaded. Simply accessing this data is , and therefore can be 'safesafely' in terms of accessed without concerns over client performance, because, as described earlier. As previously explained, it is not actually the simultaneous loading amount of multiple hierarchies cached data that causes impacts performance , but numerous webservice requests to sufferdeliver the full scope of data, for multiple hierarchies, triggered simultaneously. Therefore, the method used to fill this cache is actually the critical detail in terms of good performance, as data can be loaded to the CachedNextLevel in two ways;
* When the LoadNextLevelCommand is explicitly triggered (ie., the correct way).
* When any NextLevel binding is present anywhere in the currently loaded UI templates (ie. the 'bad' way).
<br>
 
[[Category:XAML|Object hierarchy in XAML: NextLevel, ParentLevel, LinkedLevel]]
 
==== LoadNextLevelCommand ====
When a customizing requires showing more data from the children objects than the ContentListItemViewModel allows, the recommended implementation is to use the LoadNextLevelCommand. This generates the additional PreviewPageViewModels on demand, therefore reducing the server workload that would occur simultaneously and perhaps unnecessarily. The suggested usage is some kind of trigger control, such as a button or toggle, that triggers the command and generates the PreviewPageViewModel data, and at the same time, reveals the custom data.
460
edits