■ 디자인 타임 속성을 사용하는 방법을 보여준다.
▶ XML 네임스페이스 (XAML)
1 2 3 |
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
▶ 디자인 타임 속성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
─────────────────────────────────────────────────────────────────────────────── 디자인 타임 속성 설명 ──────────── ────────────────────────────────────────────────────────────────── d:DesignHeight 런타임의 높이와는 독립적으로 디자인 타임의 루트 요소 높이 및 너비를 지정한다. d:DesignWidth <UserControl x:Class="TestSilverlightApplication.MainPage" ... mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="300"> ──────────── ────────────────────────────────────────────────────────────────── d:DataContext 컨트롤 및 해당 자식에 대한 디자인 타임 데이터 컨텍스트를 지정한다. XAML 뷰에서 컨트롤 바인딩을 선언하고 런타임에 바인딩을 채우는 데 사용되는 DataContext를 설정하는 것이 일반적인 패턴이다. 이 패턴을 따르는 경우 지정한 형식의 모양을 디자이너에서 인식할 수 있도록 d:DataContext를 설정할 수 있다. 이렇게 하면 데이터 바인딩 작성기를 사용하여 디자인 뷰에서 바인딩을 만들 수 있다. <Grid x:Name="grid" Background="White" d:DataContext="{d:DesignInstance Type=local:Customer}"> ──────────── ────────────────────────────────────────────────────────────────── d:DesignInstance d:DataContext 또는 d:DesignSource 선언의 일부로 사용된다. 디자이너에서 컨트롤에 바인딩할 데이터 소스로 사용할 수 있는 형식을 지정한다. XAML로 생성 가능한 형식을 지정할 필요는 없다. <Grid x:Name="grid" Background="White" d:DataContext="{d:DesignInstance Type=local:Customer}"> ──────────── ────────────────────────────────────────────────────────────────── d:DesignData d:DataContext 또는 d:DesignSource 선언의 일부로 사용된다. 디자인 타임에 사용할 샘플 데이터가 들어 있는 XAML 파일을 지정한다. DesignData 또는 DesignDataWithDesignTimeCreatableTypes 빌드 작업을 사용하여 샘플 데이터를 프로젝트에 통합한다. 읽기 전용 속성에 값을 할당할 수 있다. <StackPanel d:DataContext="{d:DesignData Source=/DesignData/SampleCustomer.xaml}"> ──────────── ────────────────────────────────────────────────────────────────── d:DesignSource CollectionViewSource에 대한 디자인 타임 데이터 소스를 지정한다. 이렇게 하면 디자이너에서 모양을 인식할 수 있으므로 데이터 바인딩 작성기를 사용하여 바인딩을 만들 수 있다. <CollectionViewSource x:Key="CollectionViewSourceKey" d:DesignSource="{d:DesignInstance local:Customer, CreateList=True}" /> ──────────── ────────────────────────────────────────────────────────────────── d:IsDesignTimeCreatable d:DesignInstance 태그 확장에서 디자인 인스턴스가 디자이너에서 생성된 대체 형식 대신 사용자의 형식에서 만들어지도록 지정한다. <Grid d:DataContext="{d:DesignInstance local:Customer, IsDesignTimeCreatable=True}"> ──────────── ────────────────────────────────────────────────────────────────── d:CreateList d:DesignInstance 태그 확장에서 디자인 인스턴스가 지정된 형식의 목록이 되도록 지정한다. <CollectionViewSource x:Key="CollectionViewSourceKey" d:DesignSource="{d:DesignInstance local:Customer, CreateList=True}" /> ──────────── ────────────────────────────────────────────────────────────────── d:Type d:DesignInstance 태그 확장에서 만들 형식을 지정한다. 인스턴스를 사용자의 형식에서 만들지 아니면 디자이너에서 생성된 대체 형식에서 만들지를 지정하려면 d:IsDesignTimeCreatable을 사용한다. <CollectionViewSource x:Key="CollectionViewSourceKey" d:DesignSource="{d:DesignInstance Type=local:Customer, CreateList=True}" /> ─────────────────────────────────────────────────────────────────────────────── |
▶ 빌드 작업
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
d:DesignData를 설정하려면 샘플 데이터가 들어 있는 XAML 파일에 빌드 작업을 설정한다. ──────────────────────────────────────────────────────────────────────────────────── 빌드 작업 설명 ─────────────────── ──────────────────────────────────────────────────────────────── DesignData 샘플 데이터 형식을 만들 수 없거나 샘플 데이터 형식에 샘플 데이터 값을 정의할 읽기 전용 속성이 있는 경우 이 빌드 작업을 사용한다. Silverlight Designer에서 사용자의 비즈니스 개체 형식과 동일한 속성이 있는 대체 형식이 만들어진다. 반드시 생성 가능한 형식을 지정할 필요는 없다. 이는 팩터리 메서드, 추상 형식 및 데이터베이스 연결과 관련된 복잡함을 줄여 준다. 읽기 전용 속성에 값을 할당할 수 있다. ─────────────────── ──────────────────────────────────────────────────────────────── DesignDataWithDesignTimeCreatableTypes 비어 있는 기본 생성자를 사용하여 샘플 데이터 형식을 만들 수 있는 경우 이 빌드 작업을 사용한다. Silverlight Designer에서 샘플 데이터 파일에 정의된 형식의 인스턴스가 만들어진다. XAML로 생성할 수 있는 형식을 지정해야 한다. ──────────────────────────────────────────────────────────────────────────────────── |