When we reference our resources, we can either use a StaticResource
or a DynamicResource
. If you remember from Chapter 5, Using The Right Controls for The Job, a StaticResource
will look up the value of the resource just once, which is comparative to a compile-time lookup. A DynamicResource
will repeatedly look up the value of the resource each time it is requested, whether it has changed or not, like a runtime lookup.
For this reason, we should only ever use a DynamicResource
if we really need to and can attain much better performance by using the StaticResource
class instead. If we find that we need to use a lot of DynamicResource
references to access our resources, then we can refactor our code to data bind to properties in our StateManager
class instead of the resources, to increase performance.
Another simple way to improve the performance of our resources is to reuse them. Instead of declaring them inline in the place that they are used in the XAML, we...