DataTemplate 클래스

정의

데이터 개체의 표시 구조에 대해 설명합니다.Describes the visual structure of a data object.

public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
type DataTemplate = class
    inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
상속
파생
특성

예제

다음 예제에서는 만드는 방법을 보여 줍니다는 DataTemplate 인라인 합니다.The following example shows how to create a DataTemplate inline. 합니다 DataTemplate 각 데이터 항목 3으로 나타나도록 지정 TextBlock 내의 요소는 StackPanel합니다.The DataTemplate specifies that each data item appears as three TextBlock elements within a StackPanel. 이 예제에서는 데이터 개체는 라는 클래스 Task합니다.In this example, the data object is a class called Task. TextBlock 의 속성에이 템플릿의 바인딩되는 Task 클래스입니다.Note that each TextBlock element in this template is bound to a property of the Task class.

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}">
   <ListBox.ItemTemplate>
     <DataTemplate>
       <StackPanel>
         <TextBlock Text="{Binding Path=TaskName}" />
         <TextBlock Text="{Binding Path=Description}"/>
         <TextBlock Text="{Binding Path=Priority}"/>
       </StackPanel>
     </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

보다 일반적인 정의 하는 것을 DataTemplate 다음 예제와 같이 개체를 다시 사용할 수 있도록 리소스 섹션에서:It is more common to define a DataTemplate in the resources section so it can be a reusable object, as in the following example:

<Window.Resources>
<DataTemplate x:Key="myTaskTemplate">
  <StackPanel>
    <TextBlock Text="{Binding Path=TaskName}" />
    <TextBlock Text="{Binding Path=Description}"/>
    <TextBlock Text="{Binding Path=Priority}"/>
  </StackPanel>
</DataTemplate>
</Window.Resources>

이제 다음 예제와 같이 myTaskTemplate을 리소스로 사용할 수 있습니다.Now you can use myTaskTemplate as a resource, as in the following example:

<ListBox Width="400" Margin="10"
         ItemsSource="{Binding Source={StaticResource myTodoList}}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>

전체 샘플을 보려면 Introduction to Data Templating Sample(데이터 템플릿 샘플 소개)을 참조하세요.For the complete sample, see Introduction to Data Templating Sample.

설명

사용할를 DataTemplate 데이터 개체의 시각화를 지정 합니다.You use a DataTemplate to specify the visualization of your data objects. DataTemplate 개체는 바인딩하는 경우에 특히 유용 프로그램 ItemsControl 와 같은 ListBox 전체 컬렉션에.DataTemplate objects are particularly useful when you are binding an ItemsControl such as a ListBox to an entire collection. 특정 명령 없이 ListBox 컬렉션에서 개체의 문자열 표현을 표시 합니다.Without specific instructions, a ListBox displays the string representation of the objects in a collection. 이 경우 사용할 수 있습니다는 DataTemplate 데이터 개체의 모양을 정의할 수 있습니다.In that case, you can use a DataTemplate to define the appearance of your data objects. 내용의 프로그램 DataTemplate 데이터 개체의 시각적 구조가 됩니다.The content of your DataTemplate becomes the visual structure of your data objects.

자세한 내용은 참조 하세요. 데이터 템플릿 개요합니다.For an in-depth discussion, see Data Templating Overview.

생성자

DataTemplate()

DataTemplate 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataTemplate class.

DataTemplate(Object)

지정된 DataTemplate 속성을 사용하여 DataType 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DataTemplate class with the specified DataType property.

속성

DataTemplateKey

DataTemplate의 기본 키를 가져옵니다.Gets the default key of the DataTemplate.

DataType

DataTemplate이 사용되는 형식을 가져오거나 설정합니다.Gets or sets the type for which this DataTemplate is intended.

Dispatcher

Dispatcher와 연결된 DispatcherObject를 가져옵니다.Gets the Dispatcher this DispatcherObject is associated with.

(다음에서 상속됨 DispatcherObject)
HasContent

이 템플릿의 콘텐츠가 최적화되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this template has optimized content.

(다음에서 상속됨 FrameworkTemplate)
IsSealed

이 개체가 변경할 수 없는 변경 불가능 상태인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(다음에서 상속됨 FrameworkTemplate)
Resources

이 템플릿의 범위 내에서 사용할 수 있는 리소스의 컬렉션을 가져오거나 설정합니다.Gets or sets the collection of resources that can be used within the scope of this template.

(다음에서 상속됨 FrameworkTemplate)
Template

작성자가 템플릿을 정의하거나 적용할 때 해당 템플릿의 XAML 노드를 기록/재생하는 개체에 대한 참조를 가져오거나 설정합니다.Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a writer.

(다음에서 상속됨 FrameworkTemplate)
Triggers

하나 이상의 조건에 따라 속성 값을 적용하거나 작업을 수행하는 트리거의 컬렉션을 가져옵니다.Gets a collection of triggers that apply property values or perform actions based on one or more conditions.

VisualTree

템플릿의 루트 노드를 가져오거나 설정합니다.Gets or sets the root node of the template.

(다음에서 상속됨 FrameworkTemplate)

메서드

CheckAccess()

호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다.Determines whether the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
FindName(String, FrameworkElement)

이 템플릿 내에 정의된 지정한 이름과 연관된 요소를 찾습니다.Finds the element associated with the specified name defined within this template.

(다음에서 상속됨 FrameworkTemplate)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
LoadContent()

템플릿의 콘텐츠를 개체의 인스턴스로 로드하고 콘텐츠의 루트 요소를 반환합니다.Loads the content of the template as an instance of an object and returns the root element of the content.

(다음에서 상속됨 FrameworkTemplate)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
RegisterName(String, Object)

현재 이름 범위에 새 이름/개체 쌍을 등록합니다.Registers a new name/object pair into the current name scope.

(다음에서 상속됨 FrameworkTemplate)
Seal()

템플릿을 변경할 수 없도록 잠급니다.Locks the template so it cannot be changed.

(다음에서 상속됨 FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

이 클래스의 인스턴스에서 serialization 프로세스를 통해 Resources 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(다음에서 상속됨 FrameworkTemplate)
ShouldSerializeVisualTree()

이 클래스의 인스턴스에서 serialization 프로세스를 통해 VisualTree 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(다음에서 상속됨 FrameworkTemplate)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
UnregisterName(String)

XAML 이름 범위에서 이름/개체 매핑을 제거합니다.Removes a name/object mapping from the XAML namescope.

(다음에서 상속됨 FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

규칙 집합에 대해 템플릿 부모를 확인합니다.Checks the templated parent against a set of rules.

VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.Enforces that the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)

명시적 인터페이스 구현

INameScope.FindName(String)

제공된 식별 이름이 있는 개체를 반환합니다.Returns an object that has the provided identifying name.

(다음에서 상속됨 FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

지정된 앰비언트 속성을 현재 범위에서 사용할 수 있는지 여부를 쿼리합니다.Queries whether a specified ambient property is available in the current scope.

(다음에서 상속됨 FrameworkTemplate)
ISealable.CanSeal (다음에서 상속됨 FrameworkTemplate)
ISealable.IsSealed (다음에서 상속됨 FrameworkTemplate)
ISealable.Seal() (다음에서 상속됨 FrameworkTemplate)

적용 대상

추가 정보