Use external resource : Resources « Containers « Silverlight






Use external resource

    


<UserControl x:Class='SilverlightApplication3.MainPage'
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>
    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="external.xaml" />
                </ResourceDictionary.MergedDictionaries>
                <Style x:Name="Title" TargetType="TextBlock">
                    <Setter Property="FontFamily" Value="Calibri" />
                    <Setter Property="FontSize" Value="15" />
                    <Setter Property="FontWeight" Value="Bold"/>
                </Style>
                <Style x:Name="MainTitle" TargetType="TextBlock" BasedOn="{StaticResource Title}">
                    <Setter Property="Foreground" Value="Blue" />
                </Style>
                <Style x:Name="SubTitle" TargetType="TextBlock" BasedOn="{StaticResource Title}">
                    <Setter Property="FontSize" Value="12" />
                </Style>
                <Style x:Name="DynamicTitle" TargetType="TextBlock" BasedOn="{StaticResource Title}">
                    <Setter Property="FontSize" Value="20" />
                    <Setter Property="Foreground" Value="Green"/>
                </Style>
            </ResourceDictionary>
        </Grid.Resources>
        <StackPanel>
            <TextBlock Text="Title" Style="{StaticResource Title}" Margin="5"/>
            <TextBlock Text="Main Title" Style="{StaticResource MainTitle}" Margin="5"/>
            <TextBlock Text="Sub Title" Style="{StaticResource LargeTitle}" Margin="5"/>
            <Button x:Name="button1" Click="button1_Click" Content="Toggle Style" Width="150"/>
            <TextBlock x:Name="textBlock1" Text="Main Title" Style="{StaticResource MainTitle}" Margin="5"/>
        </StackPanel>
    </Grid>
</UserControl>


//File: Page.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        private bool isToggle;
        public MainPage()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (isToggle == false)
            {
                textBlock1.Style = LayoutRoot.Resources["DynamicTitle"] as Style;
            }
            else
            {
                textBlock1.Style = LayoutRoot.
                Resources["MainTitle"] as Style;
            }
            isToggle = !isToggle;
        }
    }
}

   
    
    
    
  








Related examples in the same category

1.Adding a Your own data class as ResourcesAdding a Your own data class as Resources
2.Managing XAML ResourcesManaging XAML Resources
3.Managing Embedded ResourcesManaging Embedded Resources
4.Customizing a Control's Basic AppearanceCustomizing a Control's Basic Appearance
5.Font Size Resources
6.Logical ResourcesLogical Resources
7.Retrieving assembly manifest resources
8.Resource Lookup
9.Use Resources.Add to add static resouce from code
10.Reference resource in codeReference resource in code
11.Resource hierarchyResource hierarchy
12.LinearGradientBrush as ResourceLinearGradientBrush as Resource
13.A Uri accessing a relative loose resource
14.A Uri accessing a relative loose resource in a subdirectory
15.An absolute Uri accessing a loose resource
16.An absolute Uri accessing a loose resource in a subdirectory
17.The basic syntax and usage of a resourceThe basic syntax and usage of a resource
18.Referencing a resource at design time. Notice the use of the StaticResource keyword.Referencing a resource at design time. Notice the use of the StaticResource keyword.
19.An invalid use of a resource at design time