DataTemplate 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
說明資料物件的視覺化結構。
public ref class DataTemplate : System::Windows::FrameworkTemplate
[System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")]
public class DataTemplate : System.Windows.FrameworkTemplate
[<System.Windows.Markup.DictionaryKeyProperty("DataTemplateKey")>]
type DataTemplate = class
inherit FrameworkTemplate
Public Class DataTemplate
Inherits FrameworkTemplate
- 繼承
- 衍生
- 屬性
範例
下列範例示範如何建立 DataTemplate 內嵌。 DataTemplate指定每個資料項目在 內顯示為三 TextBlock 個專案 StackPanel 。 在此範例中,資料物件是稱為 的 Task
類別。 請注意,此範本中的每個 TextBlock 元素都會系結至 類別的 Task
屬性。
<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>
在 resources 區段中定義 DataTemplate 更常見,因此它可以是可重複使用的物件,如下列範例所示:
<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
做為資源,如下列範例所示︰
<ListBox Width="400" Margin="10"
ItemsSource="{Binding Source={StaticResource myTodoList}}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
如需完整範例,請參閱資料範本化範例簡介。
備註
您可以使用 DataTemplate 來指定資料物件的視覺效果。 DataTemplate當您將 之類的 ListBox 系結 ItemsControl 至整個集合時,物件特別有用。 若沒有特定指示,則會 ListBox 在集合中顯示 物件的字串表示。 在此情況下,您可以使用 DataTemplate 來定義資料物件的外觀。 的內容 DataTemplate 會成為資料物件的視覺結構。
如需深入討論,請參閱 資料範本化概觀。
建構函式
DataTemplate() |
初始化 DataTemplate 類別的新執行個體。 |
DataTemplate(Object) |
使用指定的 DataTemplate 屬性,初始化 DataType 類別的新執行個體。 |
屬性
DataTemplateKey |
取得 DataTemplate 的預設金鑰。 |
DataType |
為預期為 DataTemplate 的項目取得或設定類型。 |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
HasContent |
取得值,指出這個樣板是否有最佳化內容。 (繼承來源 FrameworkTemplate) |
IsSealed |
取得值,這個值表示這個物件是否處於不變的狀態,以便無法對其進行變更。 (繼承來源 FrameworkTemplate) |
Resources |
取得或設定可在這個樣板的範圍內使用的資源集合。 (繼承來源 FrameworkTemplate) |
Template |
當樣板為已定義或由寫入器套用時,取得或設定記錄或播放該樣板之 XAML 節點的物件之參考。 (繼承來源 FrameworkTemplate) |
Triggers |
取得觸發程序的集合,這些觸發程序會根據一個或多個條件來套用屬性值或執行動作。 |
VisualTree |
取得或設定樣板的根節點。 (繼承來源 FrameworkTemplate) |
方法
明確介面實作
INameScope.FindName(String) |
傳回具有所提供之識別名稱的物件。 (繼承來源 FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
查詢指定的環境屬性 (Ambient Property) 是否可用於目前的範圍。 (繼承來源 FrameworkTemplate) |