다음을 통해 공유


디자인 타임 특성

WPF Designer for Visual Studio를 사용하여 WPF 또는 Silverlight 응용 프로그램을 만들 때 디자인 뷰가 올바르게 동작하도록 정보를 제공해야 할 경우가 종종 있습니다. 이러한 정보는 디자인 타임 특성을 사용하여 지정합니다. 예를 들어 디자인 타임 특성을 사용하면 레이아웃 디자인에 맞게 특정 값을 사용하여 루트 창의 크기를 조정하면서 런타임에는 콘텐츠를 기반으로 크기 조정이 수행되는 동작을 유지할 수 있습니다. 디자인 타임 특성은 컴파일하는 동안 무시되기 때문에 런타임에 어떠한 효력도 발휘하지 않습니다.

디자인 타임 특성

WPF Designer에서는 다음과 같은 디자인 타임 특성을 제공합니다.

디자인 타임 특성

설명

사용 예

d:DesignHeight

런타임의 높이와는 독립적으로 디자인 타임의 루트 요소 높이를 지정합니다. 루트 크기 조정 태그 (루트 크기 태그)를 클릭하면 자동으로 추가됩니다.

<Window x:Class="DesignDataDemo.MainWindow"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:DesignDataDemo"
        Title="MainWindow" mc:Ignorable="d" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="350" d:DesignWidth="525" SizeToContent="WidthAndHeight">

d:DesignWidth

런타임의 너비와는 독립적으로 디자인 타임의 루트 요소 너비를 지정합니다. 루트 크기 조정 태그 (루트 크기 태그)를 클릭하면 자동으로 추가됩니다.

<Window x:Class="DesignDataDemo.MainWindow"
        xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:DesignDataDemo"
        Title="MainWindow" mc:Ignorable="d" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="350" d:DesignWidth="525" SizeToContent="WidthAndHeight">

d:DataContext

컨트롤 및 해당 자식에 대한 디자인 타임 데이터 컨텍스트를 지정합니다. XAML 뷰에서 컨트롤 바인딩을 선언하고 런타임에 바인딩을 채우는 데 사용되는 DataContext를 설정하는 것이 일반적인 패턴입니다. 이 패턴을 따르는 경우 지정한 형식의 모양을 디자이너에서 인식할 수 있도록 d:DataContext를 설정할 수 있습니다. 이렇게 하면 데이터 바인딩 작성기를 사용하여 디자인 뷰에서 바인딩을 만들 수 있습니다. 자세한 내용은 연습: WPF Designer를 사용하여 데이터 바인딩 만들기를 참조하십시오.

<Grid d:DataContext="{d:DesignInstance Type=local:Customer}" Name="_grid">

d:DesignInstance

d:DataContext 또는 d:DesignSource 선언의 일부로 사용됩니다. 디자이너에서 컨트롤에 바인딩할 데이터 소스로 사용할 수 있는 형식을 지정합니다. XAML로 생성 가능한 형식을 지정할 필요는 없습니다. 자세한 내용은 연습: DesignInstance를 사용하여 디자이너의 데이터에 바인딩을 참조하십시오.

<Grid d:DataContext="{d:DesignInstance Type=local:Customer}" Name="_grid">

d:DesignData

d:DataContext 또는 d:DesignSource 선언의 일부로 사용됩니다. 디자인 타임에 사용할 샘플 데이터가 들어 있는 XAML 파일을 지정합니다. DesignData 또는 DesignDataWithDesignTimeCreatableTypes 빌드 작업을 사용하여 샘플 데이터를 프로젝트에 통합합니다. 읽기 전용 속성에 값을 할당할 수 있습니다. 자세한 내용은 연습: WPF Designer에서 샘플 데이터 사용을 참조하십시오.

<StackPanel d:DataContext="{d:DesignData Source=./DesignData/SampleCustomer.xaml}" Grid.Row="0"></StackPanel>

d:DesignSource

CollectionViewSource에 대한 디자인 타임 데이터 소스를 지정합니다. 이렇게 하면 디자이너에서 모양을 인식할 수 있으므로 데이터 바인딩 작성기를 사용하여 바인딩을 만들 수 있습니다.

<CollectionViewSource x:Key="CustomerViewSource" 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="CustomerViewSource" d:DesignSource="{d:DesignInstance local:Customer, CreateList=True}" />

d:Type

d:DesignInstance 태그 확장에서 만들 형식을 지정합니다. 인스턴스를 사용자의 형식에서 만들지 아니면 디자이너에서 생성된 대체 형식에서 만들지를 지정하려면 d:IsDesignTimeCreatable을 사용합니다.

<CollectionViewSource x:Key="CustomerViewSource" d:DesignSource="{d:DesignInstance Type=local:Customer, CreateList=True}" />

디자인 타임 특성 액세스

https://schemas.microsoft.com/expression/blend/2008 네임스페이스를 통해 디자인 타임 특성에 액세스할 수 있습니다. 이 네임스페이스는 디자인 뷰에서 MainWindow 오른쪽 아래에 있는 루트 크기 조정 태그 (루트 크기 태그)를 클릭하면 자동으로 매핑됩니다.

빌드 작업

d:DesignData를 설정하려면 샘플 데이터가 들어 있는 XAML 파일에 빌드 작업을 설정합니다. 다음 표에서는 빌드 작업에 대해 설명합니다. 자세한 내용은 연습: WPF Designer에서 샘플 데이터 사용을 참조하십시오.

빌드 작업

설명

DesignData

샘플 데이터 형식을 만들 수 없거나 샘플 데이터 형식에 샘플 데이터 값을 정의할 읽기 전용 속성이 있는 경우 이 빌드 작업을 사용합니다. WPF 및 Silverlight Designer는 비즈니스 개체 형식과 동일한 속성을 가진 대체 형식을 만듭니다. 반드시 생성 가능한 형식을 지정할 필요는 없습니다. 이는 팩터리 메서드, 추상 형식 및 데이터베이스 연결과 관련된 복잡함을 줄여 줍니다. 읽기 전용 속성에 값을 할당할 수 있습니다.

DesignDataWithDesignTimeCreatableTypes

비어 있는 기본 생성자를 사용하여 샘플 데이터 형식을 만들 수 있는 경우 이 빌드 작업을 사용합니다. WPF 및 Silverlight Designer에서 샘플 데이터 파일에 정의된 형식의 인스턴스를 만듭니다. XAML로 생성할 수 있는 형식을 지정해야 합니다.

참고 항목

작업

연습: WPF Designer를 사용하여 데이터 바인딩 만들기

연습: DesignInstance를 사용하여 디자이너의 데이터에 바인딩

기타 리소스

연습: WPF Designer에서 샘플 데이터 사용