HierarchicalDataTemplate Class

定義

TreeViewItemMenuItem などの HeaderedItemsControl をサポートする DataTemplate を表します。 Represents a DataTemplate that supports HeaderedItemsControl, such as TreeViewItem or MenuItem.

public class HierarchicalDataTemplate : System.Windows.DataTemplate
継承

次の例で、ListLeagueListLeague オブジェクトのリストです。In the following example, ListLeagueList is a list of League objects. League オブジェクトには、Name と、Division オブジェクトのコレクションがあります。Each League object has a Name and a collection of Division objects. Division には、NameTeam オブジェクトのコレクションがあり、各 Team オブジェクトには Name があります。Each Division has a Name and a collection of Team objects, and each Team object has a Name.

<Window x:Class="SDKSample.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="HierarchicalDataTemplate Sample"
  xmlns:src="clr-namespace:SDKSample">
  <DockPanel>
    <DockPanel.Resources>
      <src:ListLeagueList x:Key="MyList"/>

      <HierarchicalDataTemplate DataType    = "{x:Type src:League}"
                                ItemsSource = "{Binding Path=Divisions}">
        <TextBlock Text="{Binding Path=Name}"/>
      </HierarchicalDataTemplate>

      <HierarchicalDataTemplate DataType    = "{x:Type src:Division}"
                                ItemsSource = "{Binding Path=Teams}">
        <TextBlock Text="{Binding Path=Name}"/>
      </HierarchicalDataTemplate>

      <DataTemplate DataType="{x:Type src:Team}">
        <TextBlock Text="{Binding Path=Name}"/>
      </DataTemplate>
    </DockPanel.Resources>

    <Menu Name="menu1" DockPanel.Dock="Top" Margin="10,10,10,10">
        <MenuItem Header="My Soccer Leagues"
                  ItemsSource="{Binding Source={StaticResource MyList}}" />
    </Menu>

    <TreeView>
      <TreeViewItem ItemsSource="{Binding Source={StaticResource MyList}}" Header="My Soccer Leagues" />
    </TreeView>

  </DockPanel>
</Window>

例を使用して示しますHierarchicalDataTemplate、他のリストを含むリストのデータを簡単に表示できます。The example shows that with the use of HierarchicalDataTemplate, you can easily display list data that contains other lists. 次に示すのは、この例のスクリーンショットです。The following is a screenshot of the example.

HierarchicalDataTemplate サンプルのスクリーン ショットHierarchicalDataTemplate sample screen shot

コンストラクター

HierarchicalDataTemplate()

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

HierarchicalDataTemplate(Object)

テンプレートの対象となる型を指定して、HierarchicalDataTemplate クラスの新しいインスタンスを初期化します。 Initializes a new instance of the HierarchicalDataTemplate class with the specified type for which the template is intended.

プロパティ

AlternationCount

子項目の代替項目コンテナーの数を取得または設定します。 Gets or sets the number of alternating item containers for the child items.

DataTemplateKey

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

(Inherited from DataTemplate)
DataType

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

(Inherited from DataTemplate)
Dispatcher

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

(Inherited from DispatcherObject)
HasContent

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

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

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

(Inherited from FrameworkTemplate)
ItemBindingGroup

各子項目にコピーされる BindingGroup を取得または設定します。 Gets or sets the BindingGroup that is copied to each child item.

ItemContainerStyle

各子項目の項目コンテナーに適用される Style を取得または設定します。 Gets or sets the Style that is applied to the item container for each child item.

ItemContainerStyleSelector

各項目コンテナーに適用できるスタイルについて、スタイル選択のカスタム ロジックを取得または設定します。 Gets or sets custom style-selection logic for a style that can be applied to each item container.

ItemsSource

データ階層内の次のレベルを表すコレクションを検索する場所を示す、このデータ テンプレートのバインドを取得または設定します。 Gets or sets the binding for this data template, which indicates where to find the collection that represents the next level in the data hierarchy.

ItemStringFormat

データ階層の次のレベル内の項目が文字列として表示される場合に、その書式を指定する複合文字列を取得または設定します。 Gets or sets a composite string that specifies how to format the items in the next level in the data hierarchy if they are displayed as strings.

ItemTemplate

データ階層の次のレベルにある項目の表示方法を示すために、生成された DataTemplate (ItemTemplateHeaderedItemsControl など) の MenuItem プロパティに適用する TreeViewItem を取得または設定します。 Gets or sets the DataTemplate to apply to the ItemTemplate property on a generated HeaderedItemsControl (such as a MenuItem or a TreeViewItem), to indicate how to display items from the next level in the data hierarchy.

ItemTemplateSelector

データ階層の次のレベルにある項目を表示するテンプレートの選択方法を示すために、生成された DataTemplateSelector (ItemTemplateSelectorHeaderedItemsControl など) の MenuItem プロパティに適用する TreeViewItem を取得または設定します。 Gets or sets the DataTemplateSelector to apply to the ItemTemplateSelector property on a generated HeaderedItemsControl (such as a MenuItem or a TreeViewItem), to indicate how to select a template to display items from the next level in the data hierarchy.

Resources

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

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

(Inherited from FrameworkTemplate)
Triggers

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

(Inherited from DataTemplate)
VisualTree

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

(Inherited from FrameworkTemplate)

方法

CheckAccess()

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

(Inherited from DispatcherObject)
Equals(Object)

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

(Inherited from Object)
FindName(String, FrameworkElement)

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

(Inherited from FrameworkTemplate)
GetHashCode()

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

(Inherited from Object)
GetType()

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

(Inherited from Object)
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()

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

(Inherited from Object)
RegisterName(String, Object)

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

(Inherited from FrameworkTemplate)
Seal()

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

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

シリアル化プロセスが、このクラスのインスタンスの 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()

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

(Inherited from Object)
UnregisterName(String)

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

(Inherited from FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

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

(Inherited from DataTemplate)
VerifyAccess()

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

(Inherited from DispatcherObject)

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

INameScope.FindName(String)

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

(Inherited from FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

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

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

適用対象