Cada elemento de UI dentro de WPF tiene una propiedad que se llama Resources. Esta nos permite aplicar estilos y plantillas al objeto de manera que podamos centralizar todo en un solo lugar y reutilizarlo de una manera sencilla.
Esta propiedad es un objeto de tipo ResourceDictionary y guarda una colección de los objetos de una manera similar a las variables de sesión. Los podemos encontrar por índice o por nombre dependiendo del tipo que función que llamemos para su búsqueda.
Hay dos tipos de recursos, los StaticResources y los DynamicResources. Los estáticos normalmente son usados para objetos más definidos, tal como dibujos o datasources; mientras que un DynamicResource es modificable y es útil settings o características de configuración.
Este es un ejemplo en XAML de como utilizar un resource dentro de una forma:
<Grid>
<Grid.Resources>
<Style x:Key=”color”>
<Setter Property=”Background” Value=”LimeGreen” />
</Style>
</Grid.Resources>
…
<Button Style=”{StaticResource color}”>Click</Button>
Como ven esto nos permite mas versatilidad y uniformidad al estar desarrollando interfases de usuario dentro de WPF, ya que podemos mantener una serie de recursos consistentes dentro de la forma.
Cheers!