DataTemplate.DataType 속성

정의

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

public:
 property System::Object ^ DataType { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Markup.Ambient]
public object DataType { get; set; }
public object DataType { get; set; }
[<System.Windows.Markup.Ambient>]
member this.DataType : obj with get, set
member this.DataType : obj with get, set
Public Property DataType As Object

속성 값

Object

기본값은 null입니다.The default value is null.

특성

설명

이 속성은 TargetType 클래스의 속성과 매우 유사 Style 합니다.This property is very similar to the TargetType property of the Style class. 을 지정 하지 않고이 속성을 데이터 형식으로 설정 하면가 해당 x:Key DataTemplate 형식의 데이터 개체에 자동으로 적용 됩니다.When you set this property to the data type without specifying an x:Key, the DataTemplate gets applied automatically to data objects of that type. 이 작업을 수행 하는 경우 x:Key 이 암시적으로 설정 됩니다.Note that when you do that the x:Key is set implicitly. 따라서이 값을 할당 하는 경우 DataTemplate x:Key 암시적인를 재정의 하 고가 x:Key DataTemplate 자동으로 적용 되지 않습니다.Therefore, if you assign this DataTemplate an x:Key value, you are overriding the implicit x:Key and the DataTemplate would not be applied automatically.

또한를 개체의 컬렉션에 바인딩하는 경우에는가 ContentControl Task ContentControl 자동으로를 사용 하지 않습니다 DataTemplate .Also note that if you are binding a ContentControl to a collection of Task objects, the ContentControl does not use the DataTemplate automatically. 이는에 대 한 바인딩에서 ContentControl 전체 컬렉션 또는 개별 개체를 바인딩할 지 여부를 구분 하기 위해 더 많은 정보를 요구 하기 때문입니다.This is because the binding on a ContentControl needs more information to distinguish whether you want to bind to an entire collection or the individual objects. 에서 ContentControl 특정 형식의 선택 항목을 추적 하는 경우 ItemsControl Path ContentControl / 현재 항목에 관심이 있음을 나타내기 위해 바인딩의 속성을 ""로 설정할 수 있습니다.If your ContentControl is tracking the selection of an ItemsControl type, you can set the Path property of the ContentControl binding to "/" to indicate that you are interested in the current item. 예제는 방법: 선택 항목을 기반으로 컬렉션에 바인딩 및 표시 정보를 참조 하세요.For an example, see How to: Bind to a Collection and Display Information Based on Selection. 그렇지 않으면 속성을 설정 하 여을 명시적으로 지정 해야 합니다 DataTemplate ContentTemplate .Otherwise, you need to specify the DataTemplate explicitly by setting the ContentTemplate property.

DataType속성은 CompositeCollection 데이터 개체의 형식이 서로 다른 경우에 특히 유용 합니다.The DataType property is particularly useful when you have a CompositeCollection of different types of data objects.

이 속성이 기본 네임 스페이스에 없는 XML 요소를 대상으로 하는 경우 요소 이름 앞에 네임 스페이스 또는 네임 스페이스 지정자를 사용 해야 합니다.If this property targets an XML element that is not in the default namespace, you must precede the element name with the namespace or a namespace designator. LINQ for XML을 통해 노출 된 XML의 경우 네임 스페이스는 중괄호 이스케이프 시퀀스 뒤에 중괄호 안에 표시 됩니다.For XML exposed through LINQ for XML, the namespace appears in braces, preceded by a brace escape sequence:

<DataTemplate DataType="{}{http://myNamespace}Details">  

XPath를 통해 노출 된 XML의 경우 요소 이름 앞에는의 인스턴스에 의해 설정 된 네임 스페이스 지정자가 XmlNamespaceMapping 있습니다.For XML exposed through XPath, the element name is preceded by a namespace designator established by an instance of XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">  

XAML 특성 사용XAML Attribute Usage

<object DataType="typeName"/>  

XAML 값XAML Values

typeNametypeName
템플릿이 개체 데이터에 사용 되는 경우이 속성에는 데이터 개체의 형식 이름 (문자열)이 포함 됩니다.If the template is intended for object data, this property contains the type name of the data object (as a string). 클래스의 형식 이름을 참조 하려면 X:Type 태그 확장을 사용 합니다.To refer to the type name of the class, use the x:Type Markup Extension. 템플릿이 XML 데이터를 사용 하는 경우이 속성에는 XML 요소 이름이 포함 됩니다.If the template is intended for XML data, this property contains the XML element name. XML 요소에 대해 기본이 아닌 네임 스페이스를 지정 하는 방법에 대 한 자세한 내용은 설명서 설명을 참조 하십시오.See the documentation remarks for details about specifying a non-default namespace for the XML element.

적용 대상