How can I get StackPanel to use an ItemTemplate?
itemtemplate, stackpanel, wpf, xaml
Solution
ItemsControl is essentially a StackPanel with an ItemTemplate. It uses a StackPanel internally.
However, it looks like you're trying to display a single customer rather than a list of them (I sound like Clippy, don't I?). In that case you want to use a ContentControl:
<ContentControl
Content="{Binding SelectedCustomer}"
ContentTemplate="{StaticResource CustomerTemplate}" />
Problem
In the following code, I tell the ComboBox to use the DataTemplate called CustomerTemplate by assigning its ItemTemplate attribute. StackPanel, however, doesn't have an ItemTemplate attribute. How can I get the StackPanel to also use CustomerTemplate? ``` <Window.Resources> <DataTemplate x:Key="CustomerTemplate"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding FirstName}"/> <TextBlock Text=" "/> <TextBlock Text="{Binding LastName}"/> </StackPanel> </DataTemplate> </Window.Resources> <DockPanel LastChildFill="False" Margin="10"> <ComboBox x:Name="CustomerList" ItemTemplate="{StaticResource CustomerTemplate}" HorizontalAlignment="Left" DockPanel.Dock="Top" Width="200" SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}" ItemsSource="{Binding Customers}"/> <StackPanel DataContext="{Binding SelectedCustomer}" Orientation="Horizontal"> <TextBlock Text="Chosen: "/> <TextBlock Text="{Binding LastName}"/> </StackPanel> </DockPanel> ```