Tag


Resource 관리의 핵심은
ResourceDictionary 클래스 입니다.
겉으로 보기에 이 클래스는 단순한 컬렉션 클래스이며,
순서를 가진 해시 테이블(Hashtable)처럼 동작 합니다.

즉, 키와 연관된 객체를 관리하며,
이 키를 이용하여 객체를 조회할 수 있는 인덱서(Indexer)를 제공합니다.

이론적으로는 다음과 같이 ResourceDictionary 클래스를 Hashtable 클래스와
동일 하게 사용할 수 있습니다.

ResourceDictionary myDictionary = new ResourceDictionary();
myDictionary.Add("myBrush", Brushes.Green);
myDictionary.Add("HW", "Hello, World");

MessageBox.Show(myDictionary["myBrush"].ToString());
MessageBox.Show(myDictionary["HW"].ToString());


위의 cs 기반의 ResourceDictionary 클래스를 이용한 예제는 다음과 같이
Resources 속성을 통해 ResourceDictionaray 클래스의 인스턴스를 생성 할 수 있습니다.


<Window x:Class="WpfApplication1.Window1"
    xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="clr-namespace:System;assembly=mscorlib"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <SolidColorBrush x:Key="myBrush" Color="Green"></SolidColorBrush>
        <s:String x:Key="HW">Hello, world</s:String>
    </Window.Resources>
   
    <Grid>
       
    </Grid>

</Window>


x:Key 특성은 객체 Dictionary 내의 리소스를 인식하기 위한 키를 지정하기
위해 사용 됩니다.
이는 cs 기반에서의 Add 메소드를 호출할 때 사용한 첫 번째 매개 변수와 같은
역활을 수행 합니다.
어떤 객체든 키로 사용될 수 있지만, 대체로 문자열이 키로 사용 됩니다.


Posted by JMSOFT

댓글을 달아 주세요

티스토리 툴바