Lo siguiente es similar a lo que estoy tratando de lograr. Sin embargo, obtengo el errorEspecifique ControlTemplate para ItemsControl.ItemContainerStyle
Valor invalido de PropertyDescriptor.
en la plantilla Setter
. Sospecho que es porque no especifique un TargetType
para el Style
; sin embargo, no conozco el tipo de contenedor para ItemsControl
.
<ItemsControl>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<TextBlock Text="Some Content Here" />
<ContentPresenter />
<Button Content="Edit" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ItemsControl.ItemContainerStyle>
<!-- heterogenous controls -->
<ItemsControl.Items>
<Button Content="Content 1" />
<TextBox Text="Content 2" />
<Label Content="Content 3" />
</ItemsControl.Items>
</ItemsControl>
¡Trabaja maravillosamente! Intentaba hacer todo esto con XAML, y solo unas pocas líneas de código para obtener una clase lo hacen todo feliz, ordenado y limpio. –
"Si agrega un elemento que no sea un UIElement, ese setter establecería la propiedad Control.Template en ContentPresenter, que tendría éxito pero no tendría ningún efecto". - ¡Busqué edades antes de encontrar este consejo! – Daniel