Especifique ControlTemplate para ItemsControl.ItemContainerStyle

Lo siguiente es similar a lo que estoy tratando de lograr. Sin embargo, me sale el error

Valor de PropertyDescriptor no válido

en la plantillaSetter. Sospecho que es porque no especifiqué unTargetType Para elStyle; sin embargo, no sé el tipo de contenedor paraItemsControl.

<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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta