Condividi tramite


DataTemplate.DataType Proprietà

Definizione

Ottiene o imposta il tipo per cui l'oggetto DataTemplate è destinato.

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 un x:Keyoggetto , viene DataTemplate applicato automaticamente agli oggetti dati di tale tipo. Si noti che quando si esegue questa operazione viene x:Key impostata in modo implicito. Pertanto, se si assegna questo DataTemplatex:Key valore, si esegue l'override dell'implicito x:Key e non DataTemplate viene applicato automaticamente.

Si noti anche che se si associa un oggetto ContentControl a una raccolta di Task oggetti, l'oggetto ContentControl non usa automaticamente DataTemplate . Questo è dovuto al fatto che l'associazione in un ContentControl oggetto richiede ulteriori informazioni per distinguere se si vuole associare a un'intera raccolta o ai singoli oggetti. Se si ContentControl tiene traccia della selezione di un ItemsControl tipo, è possibile impostare la Path proprietà dell'associazione ContentControl su "/" per indicare che si è interessati all'elemento corrente. Per un esempio, vedere Procedura: Associare a una raccolta e visualizzare le informazioni in base alla selezione. In caso contrario, è necessario specificare in modo esplicito la DataTemplateContentTemplate proprietà.

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 è nello spazio dei nomi predefinito, è necessario precedere il nome dell'elemento con lo spazio dei nomi o un designatore dello 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">  

Uso della sintassi XAML per gli attributi

<object DataType="typeName"/>  

Valori XAML

typeName
Se il modello è destinato ai dati dell'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 le osservazioni della documentazione.

Si applica a

Vedi anche