Silverlight를 ControlTemplate와 DataTemplate 를 접했다.
자주 접한 것 같지만 이 녀석들은 내겐 참 헷갈린다. (곧 잡아 먹어주겠다~ 흐흐흐)
이번 블로깅을 통해 조금이나마 개념 파악을 위해 DataTemplate를 정리해 보고자 한다.
그중 가장 흔하게 접하는 것이 ListBox 컨트롤의 ListBoxItem일 것이다.
이 ListBoxItem을 XAML 코드를 보면서 이해해 보고자 한다.
ListBoxItem을 다른 형태로 출력하는 방법은 아래 2가지가 있다.
(사실 아마 더 있을지도 모른다. 지금 개념파악을 위해 정리하는 것이므로 더 있으면 추가하도록 할 것이다.)
--------------------------------코드보기-----------------------------------
1) Inline 방법
<UserControl ...>
<ListBox x:Name="MyBooks" Margin="5" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Birthday}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</UserControl>
--------------------------------------------------------------------------------
2) Resource 방법
<UserControl ...>
<UserControl.Resources>
<DataTemplate x:Key="DataTemplate1">
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Name}"/>
<TextBlock Text="{Binding Birthday}" />
</StackPanel>
</DataTemplate>
</UserControl.Resources>
...
<ListBox ItemTemplate="{StaticResource DataTemplate1}" x:Name="listboxMediaList" Margin="5,3,5,5" Grid.Row="1" />
...
</UserControl>