DataTemplate DataTemplate DataTemplate DataTemplate Class

定義

データ オブジェクトのビジュアル構造を記述します。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 、各データ項目が内StackPanelの 3 TextBlockつの要素として表示されることを指定します。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() DataTemplate() DataTemplate()

DataTemplate クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataTemplate class.

DataTemplate(Object) DataTemplate(Object) DataTemplate(Object) DataTemplate(Object)

指定した DataTemplate プロパティを使用して、DataType クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataTemplate class with the specified DataType property.

プロパティ

DataTemplateKey DataTemplateKey DataTemplateKey DataTemplateKey

DataTemplate の既定のキーを取得します。Gets the default key of the DataTemplate.

DataType DataType DataType DataType

この DataTemplate が対象としている型を取得または設定します。Gets or sets the type for which this DataTemplate is intended.

Dispatcher Dispatcher Dispatcher Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
HasContent HasContent HasContent HasContent

最適化されたコンテンツがこのテンプレートに含まれているかどうかを示す値を取得します。Gets a value that indicates whether this template has optimized content.

(Inherited from FrameworkTemplate)
ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal Inherited from FrameworkTemplate
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed Inherited from FrameworkTemplate
IsSealed IsSealed IsSealed IsSealed

このオブジェクトが不変の状態で変更不可能であるかどうかを示す値を取得します。Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(Inherited from FrameworkTemplate)
Resources Resources Resources Resources

このテンプレートのスコープ内で使用できるリソースのコレクションを取得または設定します。Gets or sets the collection of resources that can be used within the scope of this template.

(Inherited from FrameworkTemplate)
Template Template Template 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.

(Inherited from FrameworkTemplate)
Triggers Triggers Triggers Triggers

プロパティ値を適用するトリガー、または 1 つ以上の条件に基づいてアクションを実行するトリガーのコレクションを取得します。Gets a collection of triggers that apply property values or perform actions based on one or more conditions.

VisualTree VisualTree VisualTree VisualTree

テンプレートのルート ノードを取得または設定します。Gets or sets the root node of the template.

(Inherited from FrameworkTemplate)

メソッド

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement)

このテンプレート内で定義された、指定した名前に関連付けられている要素を検索します。Finds the element associated with the specified name defined within this template.

(Inherited from FrameworkTemplate)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
LoadContent() LoadContent() LoadContent() LoadContent()

テンプレートのコンテンツをオブジェクトのインスタンスとして読み込み、コンテンツのルート要素を返します。Loads the content of the template as an instance of an object and returns the root element of the content.

(Inherited from FrameworkTemplate)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

現在の名前スコープに新しい名前とオブジェクトのペアを登録します。Registers a new name/object pair into the current name scope.

(Inherited from FrameworkTemplate)
Seal() Seal() Seal() Seal()

テンプレートをロックし、変更できないようにします。Locks the template so it cannot be changed.

(Inherited from FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager)

シリアル化プロセスが、このクラスのインスタンスの Resources プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(Inherited from FrameworkTemplate)
ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree()

シリアル化プロセスが、このクラスのインスタンスの VisualTree プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(Inherited from FrameworkTemplate)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

XAML 名前スコープから名前とオブジェクトのマッピングを削除します。Removes a name/object mapping from the XAML namescope.

(Inherited from FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement)

規則のセットに対してテンプレートが適用される親をチェックします。Checks the templated parent against a set of rules.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

明示的なインターフェイスの実装

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

指定された識別名を持つオブジェクトを返します。Returns an object that has the provided identifying name.

(Inherited from FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

指定されたアンビエント プロパティを現在のスコープで使用できるかどうかを照会します。Queries whether a specified ambient property is available in the current scope.

(Inherited from FrameworkTemplate)
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal() Inherited from FrameworkTemplate

適用対象

こちらもご覧ください