При использовании ресурсов, таких как кисти, шаблоны и стили в WPF, их можно указать либо как StaticResources
<Rectangle Fill="{StaticResource MyBrush}" />
или как DynamicResource
<ItemsControl ItemTemplate="{DynamicResource MyItemTemplate}" />
В большинстве случаев (всегда?), только один работает, а другой будет генерировать исключение во время выполнения. Но я хотел бы знать, почему:
- В чем основное отличие. Подобно последствиям памяти или производительности.
- Существуют ли правила WPF, такие как "кисти всегда статичны" и "шаблоны всегда динамичны" и т.д.?
I предположим выбор между Static vs Dynamic не так произволен, как кажется... но я не вижу шаблон.