- 자바스크립트 파일, 비디오/오디오 파일등 SilverLight 어플리케이션에 사용되는 바이너리 데이터를 의미,
XAP 파일로 압축 형태로 클라이언트로 전송되므로 배포가 간편합니다.
- 스타일과 템플릭 적용을 위한 XAML 영역
Resource 속성
- Build Action 설정하여 리소스 패키지 방식 설정 가능
None(없음) - dll, xap에 리소스 포함하지 않음
Content(내용) - 프로젝트에 xap에 리소스 포함
Resource(리소스) - dll 파일에 리소스 포함
FrmMergedResourceDictionary.xaml [ 외부 리소스 ] |
1. 해당 프로젝트에서 파일을 추가합니다. Silverlight Resource Dictionary 추가 ( FrmMergedResourceDictionary.xaml ) [그림 66-1] 전체 코드를 지우고 다시 작성합니다. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <SolidColorBrush Color="Firebrick" x:Key="myFire"></SolidColorBrush> <SolidColorBrush Color="LightBlue" x:Key="myLightBlue"></SolidColorBrush> <SolidColorBrush Color="Green" x:Key="myGreen"></SolidColorBrush> </ResourceDictionary> |
MainPage.xaml |
먼저 외부리소스를 사용하기 위해서는 해당 페이지에 리소스 파일을 정의 해주셔야 합니다. [그림 66-2] <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="FrmMergedResourceDictionary.xaml"> </ResourceDictionary> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White"> <!--스타일/리소스 정의--> <Grid.Resources> <SolidColorBrush x:Key="myColor" Color="Silver" Opacity="0.8"> </SolidColorBrush> </Grid.Resources> </Grid> |
MainPage.xaml [ 전체 소스 ] |
<UserControl x:Class="ResourceDictionary.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:DesignHeight="300" d:DesignWidth="400"> <!--[!] 외부에서 정의된 리소스 사용--> <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="FrmMergedResourceDictionary.xaml"> </ResourceDictionary> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </UserControl.Resources> <Grid x:Name="LayoutRoot" Background="White"> <!--스타일/리소스 정의--> <Grid.Resources> <SolidColorBrush x:Key="myColor" Color="Silver" Opacity="0.8"> </SolidColorBrush> </Grid.Resources> <!--스타일 적용--> <StackPanel> <!--[1] 태그에 직접 정의--> <TextBlock Text="준철" Foreground="DodgerBlue"></TextBlock> <!--[2] 스타일/내부 리소스를 사용--> <TextBlock Text="Godffs" Foreground="{StaticResource myColor}"></TextBlock> <!--[3] 외부에서 정의된 리소스 사용--> <TextBlock Text="FireColor" Foreground="{StaticResource myFire}"> </TextBlock> <TextBlock Text="LightBlue" Foreground="{StaticResource myLightBlue}"> </TextBlock> <!--[4] 코드 비하인드에서 C# 코드로 리소스 사용--> <TextBlock x:Name="lblRed" Text="Godffs.tistory.com"></TextBlock> <TextBlock x:Name="lblBlue" Text="Wow"></TextBlock> </StackPanel> </Grid> </UserControl> |
MainPage.xaml.cs |
namespace ResourceDictionary { public partial class MainPage : UserControl { public
MainPage() { InitializeComponent(); this.Loaded
+= new RoutedEventHandler(MainPage_Loaded); } void
MainPage_Loaded(object sender, RoutedEventArgs e) { //[1] 그리드 리소스 사용 this.lblRed.Foreground
= (this.LayoutRoot.Resources["myColor"] as
SolidColorBrush); //[2] 외부에 정의된 리소스 사용 this.lblBlue.Foreground
= this.Resources["myGreen"]
as SolidColorBrush; } } } |
결과화면 |
[그림 66-3] |
'Silverlight' 카테고리의 다른 글
68.SilverLight3 - Template (0) | 2009.12.03 |
---|---|
67.SilverLight3 - Style (0) | 2009.12.03 |
65.SilverLight3 - Calendar / DatePicker (1) | 2009.12.02 |
64.SilverLight3 - Tab (0) | 2009.12.02 |
63.SilverLight3 - Slider (0) | 2009.12.02 |
Comments