Condividi tramite


DataTemplate.DataType Proprietà

Definizione

Ottiene o imposta il tipo per il quale è previsto l'oggetto DataTemplate .

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

Valore della proprietà

Il valore predefinito è null.

Attributi

Commenti

Questa proprietà è molto simile alla TargetType proprietà della Style classe . Quando si imposta questa proprietà sul tipo di dati senza specificare , x:Keyl'oggetto DataTemplate viene applicato automaticamente agli oggetti dati di tale tipo. Si noti che quando si esegue questa operazione x:Key viene impostato in modo implicito. Pertanto, se si assegna a questo DataTemplate un valore x:Key, si esegue l'override del valore implicito x:Key e il valore DataTemplate non verrà applicato automaticamente.

Si noti inoltre che se si associa un oggetto ContentControl a una raccolta di Task oggetti , ContentControl non viene utilizzato DataTemplate automaticamente . Ciò è dovuto al fatto che l'associazione su un oggetto ContentControl necessita di ulteriori informazioni per distinguere se si desidera eseguire l'associazione a un'intera raccolta o a singoli oggetti. Se il tuo ContentControl sta tenendo traccia della selezione di un tipo di ItemsControl, puoi impostare la proprietà Path del binding ContentControl su "/" per indicare che ti interessa l'elemento corrente. Per un esempio, vedere Procedura: Eseguire l'associazione a una raccolta e visualizzare informazioni in base alla selezione. In caso contrario, è necessario specificare il DataTemplate esplicitamente impostando la proprietà ContentTemplate.

La DataType proprietà è particolarmente utile quando si dispone di diversi CompositeCollection tipi di oggetti dati.

Se questa proprietà è destinata a un elemento XML che non si trova nello spazio dei nomi predefinito, è necessario precedere il nome dell'elemento con lo spazio dei nomi o uno spazio dei nomi. Per XML esposto tramite LINQ for XML, lo spazio dei nomi viene visualizzato tra parentesi graffe, preceduto da una sequenza di escape tra parentesi graffe:

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

Per XML esposto tramite XPath, il nome dell'elemento è preceduto da un designatore dello spazio dei nomi stabilito da un'istanza di XmlNamespaceMapping:

<DataTemplate DataType="mn:Details">

Utilizzo degli attributi XAML

<object DataType="typeName"/>

Valori XAML

Typename Se il modello è destinato ai dati oggetto, questa proprietà contiene il nome del tipo dell'oggetto dati (come stringa). Per fare riferimento al nome del tipo della classe, usare l'estensione di markup x:Type. Se il modello è destinato ai dati XML, questa proprietà contiene il nome dell'elemento XML. Per informazioni dettagliate sulla specifica di uno spazio dei nomi non predefinito per l'elemento XML, vedere la documentazione.

Si applica a

Vedi anche