What is resource in WPF? How many types of resources in WPF?

Open 1 Answers 12 Views Education
What is resource in WPF? How many types of resources in WPF?

1 Answer

Windows Presentation Foundation (WPF) resources provide a simple way to reuse commonly defined objects and values. Resources in WPF allow you to set the properties of multiple controls at a time. For example, you can set the background property on several elements in a WPF application using a single resource.
The best way of defining the resources is on a Window or Page element level. Any resource that you define for an element also applies to their child elements of that element.
If you define a resource for the grid element, then the resource applies only to the child elements of the grid element.
Syntax for resources in WPF is as follows:
<elementName propertyName="{markupExtension keyName}">

<!-Content -->

There are two types of resource, namely,
  • Static Resource
  • Dynamic Resource
Static Resource
We should use the StaticResource markup extension to define the resource as a static resource. The value of StaticResource is determined at the time of loading.
  1. <Grid.Resources>  
  2.    <SolidColorBrush x:Key="lblbgcolor" Color="Blue"/>  
  3. </Grid.Resources>  
  4. <Label Name="lbl" Margin="71,44,77,0" Background="{StaticResourcelblbgcolor}" Height="49" />  
Dynamic Resource
Dynamic Resource we use in a situation where we want to change the value of property at run time.
  1. <Window.Resources>  
  2.    <SolidColorBrush x:Key="brush" Color="Red" />  
  3. </Window.Resources>  
  4. <Button x:Name="btn" Content="Click Me" Click="Button_Click" Background="{DynamicResource brush}" Height="100" Width="100" />  

Open Code behind and add the following code snippet:

  1. private void Button_Click(object sender, RoutedEventArgs e)  
  2. {  
  3.    this.btn.SetResourceReference(BackgroundProperty, "brush");  
  4. }  
by (280k points)