He visto algunas otras preguntas 'vs' de Silverlight, pero no he podido encontrar ninguna para este enfrentamiento en particular.DataTemplate vs ItemContainerStyle
Estoy tratando de definir la forma en que se mostrarán mis objetos vinculados a ListBox
. Definí un DataTemplate
, pero realmente no estoy seguro de dónde debería terminar y debería comenzar el ItemContainerStyle
.
Pregunta 1: ¿Es la ItemContainerStyle
sólo un envoltorio para la DataTemplate
por lo que un estilo de elemento común se puede aplicar a diferentes diseños de datos?
Pregunta 1a: Si es así, en el caso de que no se requiere un estilo de elemento común, es la ItemContainerStyle
incluso necesario o pueden todo el diseño y el estilo pueden definir en el DataTemplate
?
Pregunta 1b: Si no es así, so what is it?
El ListBox
es actualmente la siguiente manera:
<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/>
El XAML para mi DataTemplate
es así:
<DataTemplate x:Key="TaskDataTemplate">
<Grid d:DesignHeight="95" Height="150">
<StackPanel Margin="11,8,-10,68" Orientation="Horizontal" d:LayoutOverrides="Width">
<TextBlock x:Name="TaskLabel" Margin="0,0,0,8" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="Task" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<TextBlock x:Name="TaskID" HorizontalAlignment="Right" Margin="10,0,0,0" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="TaskID" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
<TextBlock x:Name="ChangeList" Style="{StaticResource NormalText}" TextWrapping="Wrap" Text="Changes..." Margin="30,2,0,0"/>
</StackPanel>
<ComboBox x:Name="TaskType" Style="{StaticResource TaskComboBox}" Height="29" VerticalAlignment="Top" Margin="131,30,16,0" d:LayoutOverrides="VerticalAlignment"/>
<TextBlock x:Name="TaskTypeLabel" Margin="12,39,0,0" Style="{StaticResource NormalTextBold}" TextWrapping="Wrap" Text="Variation Reason" VerticalAlignment="Top" HorizontalAlignment="Left" Height="21"/>
<TextBox x:Name="TaskDescription" Margin="12,70,15,11" TextWrapping="Wrap" Text="Enter description..." Style="{StaticResource TaskTextBox}" d:LayoutOverrides="VerticalAlignment"/>
</Grid>
</DataTemplate>
Gracias.
Nice one, ta. Supongo que por ItemContentTemplate te refieres a ItemContainerStyle? – Town
Sí, editado. Gracias – BenCr
Además, para la forma del contenedor, ¿podría agrupar los contenidos de mi DataTemplate en un borde y tener esquinas redondeadas sobre eso? ¿Se trata solo de formas complejas que requerirían el uso de un ItemContainerStyle? – Town