ItemsControl.ItemTemplate 속성

2013-12-13

각 항목을 표시하는 데 사용되는 DataTemplate을 가져오거나 설정합니다.

Namespace:  System.Windows.Controls
어셈블리:  System.Windows(System.Windows.dll)
XMLNS for XAML: xmlns에 매핑되지 않습니다.

public DataTemplate ItemTemplate { get; set; }
<itemsControl>
  <itemsControl.ItemTemplate>
    singleDataTemplate
  </itemsControl.ItemTemplate>
</itemsControl>
<itemsControl ItemTemplate="resourceReferenceToDataTemplate"/>

XAML 값

singleDataTemplate

단일 DataTemplate 개체 요소입니다. 이 DataTemplate에는 일반적으로 데이터 표현의 모양을 정의하는 여러 개의 자식 요소가 있습니다.

resourceReferenceToDataTemplate

리소스 컬렉션에서 기존 DataTemplate에 대한 리소스 참조입니다. 리소스 참조는 키를 통해 원하는 DataTemplate을 지정해야 합니다.

속성 값

형식: System.Windows.DataTemplate
데이터 개체의 시각화를 지정하는 템플릿입니다. 기본값은 null입니다.

종속성 속성 식별자 필드: ItemTemplateProperty

ItemTemplate 속성을 사용하여 데이터의 시각적 표현을 지정합니다. ItemTemplateItemsSource를 데이터에 바인딩할 때 특히 유용합니다. DataTemplate을 사용하여 데이터 개체의 모양을 정의합니다. DataTemplate의 콘텐츠는 데이터 개체의 표시 구조가 됩니다. ItemTemplate을 설정하지 않으면 ItemsControl은 컬렉션에 있는 개체의 문자열 표현을 표시합니다.

다음 예제에서는 DataTemplate을 사용하여 ItemsControl에서 상속되는 ListBox의 항목을 표시합니다. 이 예제에서 ListBoxCustomer 개체의 컬렉션에 바인딩됩니다. DataTemplate에는 FirstName, LastNameAddress 속성에 바인딩되는 TextBlock 컨트롤이 들어 있습니다. 데이터 바인딩에 대한 자세한 내용은 Windows Phone의 데이터 바인딩을 참조하세요.


<Grid>
    <Grid.Resources>
        <src:Customers x:Key="customers"/>
    </Grid.Resources>

    <ListBox ItemsSource="{StaticResource customers}" Margin="0,5,0,10">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" >
                    <TextBlock Padding="3,0,3,0"
          Text="{Binding FirstName}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
                    <TextBlock Text="{Binding LastName}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
                    <TextBlock Text=", " FontSize="{StaticResource PhoneFontSizeSmall}"/>
                    <TextBlock Text="{Binding Address}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>


다음 예제에서는 Customer 클래스 및 ListBox가 바인딩되는 컬렉션을 보여 줍니다.


public class Customer
{
    public String FirstName { get; set; }
    public String LastName { get; set; }
    public String Address { get; set; }

    public Customer(String firstName, String lastName, String address)
    {
        this.FirstName = firstName;
        this.LastName = lastName;
        this.Address = address;
    }

}

public class Customers : ObservableCollection<Customer>
{
    public Customers()
    {
        Add(new Customer("Michael", "Anderberg",
                "12 North Third Street, Apartment 45"));
        Add(new Customer("Chris", "Ashton",
                "34 West Fifth Street, Apartment 67"));
        Add(new Customer("Cassie", "Hicks",
                "56 East Seventh Street, Apartment 89"));
        Add(new Customer("Guido", "Pica",
                "78 South Ninth Street, Apartment 10"));
    }

}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시:
© 2015 Microsoft