ARTICLE

Resources use in WPF

Posted by Sapna Malik Articles | WPF using VB.NET September 03, 2010
Tags: .NET, ASP.NET, VB.NET, WPF
In this article, We will see how to use Resources in WPF.
 
Reader Level:

We will use resource in WPF with VB.NET. We can define the styles in WPF XAML files, or perhaps we can manage to accumulate all our useful styles for a particular application in a resource dictionary file. The Resources store reference to an object within a collection. We will use StaticResource in the button. We will use 'Resource Dictionary' throw the StaticResource in the application.

The Application object, Window, Button, and other WPF controls all have a Resources collection. A resource can be anything, such as a Brush to use for painting the background, a control template or many other types of objects.

Two types of resources.
  1. Static Resources
  2. Dynamic Resources

Example:-

This coding of Window1.xaml:-

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Button Style="{StaticResource RedButton}" Content="Demo" Margin="52,21,127,0"
Grid.Row="1" Height="22" VerticalAlignment="Top" />    
       
<Rectangle Margin="52,28,127,17" Name="Rectangle1" Stroke="Black"
              Fill="{StaticResource MyBrush}"/>
    </Grid>
</
Window> 

This coding of Dictionary1.xaml:- We will add a resource dictionary in our application. We have to select the project or folder in Solution Explorer and then right click and select "Add". We will get a menu item called "Resource Dictionary". Clicking on that menu item will popup up the Add New Item wizard with the Resource Dictionary Item template selected. Rename the item as you wish.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">   
        <LinearGradientBrush x:Key="MyBrush">       
           
<GradientStop Color="Blue" Offset="0"/>     
           
<GradientStop Color="Yellow" Offset="1"/>     
       
</LinearGradientBrush>    
        
<Style x:Key="RedButton" TargetType="{x:Type Button}">
            <Setter Property="Background" Value="Red"/>      
           
<Setter Property="Foreground" Value="Yellow"/>        
           
<Setter Property="Margin" Value="12,3"/>     
           
<Setter Property="Padding" Value="3"/>
            <Setter Property="MinWidth" Value="75"/>
            <Setter Property="MinHeight" Value="34"/>         
       
</Style>         
</ResourceDictionary>

This coding of Application.xaml:-

<Application x:Class="Application"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="Window1.xaml">
    <Application.Resources>
        <ResourceDictionary Source="\\MCNSERVER2\UserProfiles\smalik\My Documents\Visual
Studio 2008\Projects\Resources\Resources\Dictionary1.xaml"/>
    </Application.Resources>
</
Application>

Output:-

Resources.bmp

share this article :
post comment
 
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor