The StaticResource binding throws an error at design time if the object specified by the x:Key is not present. On the other hand, DynamicResource does not throw any exception, and displays as blank. Later, when it finds the Key, it binds itself with that resource.
StaticResource should be used most of the time, unless there is a need to replace resources dynamically. DynamicResource should be used by the themes that can easily swap the resources.
Having a large collection of DynamicResource on a complex UI can impact the performance of the UI. Wherever possible, mark them as StaticResource.
Having a large collection of DynamicResource on a complex UI can impact the performance of the UI. Wherever possible, mark them as StaticResource.