HierarchicalDataTemplate 類別

定義

代表支援 HeaderedItemsControlDataTemplate,例如 TreeViewItemMenuItem

public ref class HierarchicalDataTemplate : System::Windows::DataTemplate
public class HierarchicalDataTemplate : System.Windows.DataTemplate
type HierarchicalDataTemplate = class
    inherit DataTemplate
Public Class HierarchicalDataTemplate
Inherits DataTemplate
繼承

範例

在下列範例中,ListLeagueListLeague 物件的清單。 每個 League 物件都有一個 Name 和一組 Division 物件集合。 每一個 Division 都有一個 NameTeam 物件的集合,並且每一個 Team 物件都有一個 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 時,您可以輕鬆地顯示包含其他清單的清單資料。 以下是範例的螢幕擷取畫面。

階層式DataTemplate 範例螢幕擷取畫面階層

建構函式

HierarchicalDataTemplate()

初始化 HierarchicalDataTemplate 類別的新執行個體。

HierarchicalDataTemplate(Object)

使用樣板要套用至的指定型別,初始化 HierarchicalDataTemplate 類別的新執行個體。

屬性

AlternationCount

取得或設定子項目的替代項目容器個數。

DataTemplateKey

取得 DataTemplate 的預設金鑰。

(繼承來源 DataTemplate)
DataType

為預期為 DataTemplate 的項目取得或設定類型。

(繼承來源 DataTemplate)
Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
HasContent

取得值,指出這個樣板是否有最佳化內容。

(繼承來源 FrameworkTemplate)
IsSealed

取得值,這個值表示這個物件是否處於不變的狀態,以便無法對其進行變更。

(繼承來源 FrameworkTemplate)
ItemBindingGroup

取得或設定複製至每一個子項目的 BindingGroup

ItemContainerStyle

取得或設定 Style,它會套用至每一個子項目的項目容器。

ItemContainerStyleSelector

取得或設定自訂的樣式選取邏輯,這個樣式可以套用至每一個項目容器。

ItemsSource

取得或設定此資料範本的繫結。此資料範本會指出代表資料層中下一個層級之集合的位置。

ItemStringFormat

取得或設定一個複合字串,這個字串指定如何將資料階層架構內下一個層級中的項目 (如果項目顯示為字串的話) 格式化。

ItemTemplate

取得或設定要套用至所產生之 DataTemplate (例如 ItemTemplateHeaderedItemsControl) 上 MenuItem 屬性的 TreeViewItem,以指出如何顯示資料階層架構中下一個層級的項目。

ItemTemplateSelector

取得或設定要套用至所產生之 DataTemplateSelector (例如 ItemTemplateSelectorHeaderedItemsControl) 上 MenuItem 屬性的 TreeViewItem,以指出如何選取樣板來顯示資料階層架構中下一個層級的項目。

Resources

取得或設定可在這個樣板的範圍內使用的資源集合。

(繼承來源 FrameworkTemplate)
Template

當樣板為已定義或由寫入器套用時,取得或設定記錄或播放該樣板之 XAML 節點的物件之參考。

(繼承來源 FrameworkTemplate)
Triggers

取得觸發程序的集合,這些觸發程序會根據一個或多個條件來套用屬性值或執行動作。

(繼承來源 DataTemplate)
VisualTree

取得或設定樣板的根節點。

(繼承來源 FrameworkTemplate)

方法

CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindName(String, FrameworkElement)

尋找與這個樣板內定義之指定名稱相關聯的項目。

(繼承來源 FrameworkTemplate)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LoadContent()

載入當做物件執行個體的樣板內容,並傳回該內容的根項目。

(繼承來源 FrameworkTemplate)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RegisterName(String, Object)

將新的「名稱/物件」組註冊到目前的名稱範圍中。

(繼承來源 FrameworkTemplate)
Seal()

鎖定樣板,以便無法對其進行變更。

(繼承來源 FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager)

傳回值,這個值表示在這個類別的執行個體上,序列化處理是否應該將 Resources 屬性的值序列化。

(繼承來源 FrameworkTemplate)
ShouldSerializeVisualTree()

傳回值,這個值表示在這個類別的執行個體上,序列化處理是否應該將 VisualTree 屬性的值序列化。

(繼承來源 FrameworkTemplate)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
UnregisterName(String)

從 XAML 名稱範圍移除名稱/物件對應。

(繼承來源 FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement)

請依一組規則來檢查樣版化父代 (Parent)。

(繼承來源 DataTemplate)
VerifyAccess()

請強制執行可以存取這個 DispatcherObject 的呼叫執行緒。

(繼承來源 DispatcherObject)

明確介面實作

INameScope.FindName(String)

傳回具有所提供之識別名稱的物件。

(繼承來源 FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String)

查詢指定的環境屬性 (Ambient Property) 是否可用於目前的範圍。

(繼承來源 FrameworkTemplate)

適用於