ItemsPanelTemplate ItemsPanelTemplate ItemsPanelTemplate ItemsPanelTemplate Class

Definición

Especifica el panel que ItemsPresenter crea para el diseño de los elementos de ItemsControl.Specifies the panel that the ItemsPresenter creates for the layout of the items of an ItemsControl.

public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
    inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
Herencia

Ejemplos

Para crear una horizontal ListBox, puede crear una plantilla que especifica una horizontal StackPanel y establecerlo como el ItemsPanel propiedad.To create a horizontal ListBox, you can create a template that specifies a horizontal StackPanel and set it as the ItemsPanel property. El ejemplo siguiente se muestra un ListBox Style que crea una horizontal ListBox.The following example shows a ListBox Style that creates a horizontal ListBox.

<Style TargetType="ListBox">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                    VerticalAlignment="Center"
                    HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
</Style>

En el ejemplo siguiente se usa un ControlTemplate para crear una horizontal ListBox tiene esquinas redondeadas.The following example uses a ControlTemplate to create a horizontal ListBox that has rounded corners. Tenga en cuenta que en este ejemplo, en lugar de establecer el ItemsPanel propiedad como en el ejemplo anterior, la horizontal StackPanel especificado dentro de la ControlTemplate.Note that in this example, instead of setting the ItemsPanel property as in previous example, the horizontal StackPanel is specified within the ControlTemplate. Tenga en cuenta que el IsItemsHost propiedad está establecida en true en el StackPanel, lo que indica que los elementos generados deben ir al panel.Note that the IsItemsHost property is set to true on the StackPanel, indicating that the generated items should go in the panel. Al especificar este modo, el ItemsPanel no se puede reemplazar por el usuario del control sin usar un ControlTemplate.When you specify it this way, the ItemsPanel cannot be replaced by the user of the control without using a ControlTemplate. Por lo tanto, solo hacer esto si sabe que no desea el panel que se debe reemplazar sin el uso de una plantilla.Therefore, only do this if you know you wouldn't want the panel to be replaced without the use of a template.

<Style TargetType="ListBox">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="ListBox">
        <Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <StackPanel Orientation="Horizontal"
                       VerticalAlignment="Center"
                       HorizontalAlignment="Center"
                       IsItemsHost="True"/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Como alternativa, puede hacer lo siguiente para lograr los mismos resultados.Alternatively, you can do the following to achieve the same results. En este caso, el ItemsPresenter crea el panel para el diseño de los elementos según lo especificado por el ItemsPanelTemplate.In this case, the ItemsPresenter creates the panel for the layout of the items based on what is specified by the ItemsPanelTemplate.

<Style TargetType="{x:Type ListBox}">
  <Setter Property="ItemsPanel">
    <Setter.Value>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"
                     VerticalAlignment="Center"
                     HorizontalAlignment="Center"/>
      </ItemsPanelTemplate>
    </Setter.Value>
  </Setter>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ListBox}">
        <Border CornerRadius="5"
                Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <ItemsPresenter/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Para obtener un ejemplo de cómo usar las distintas propiedades de aplicar estilos y plantillas en el ItemsControl, consulte Data Templating Overview.For an example of how to use the different styling and templating properties on the ItemsControl, see Data Templating Overview.

Comentarios

El ItemsPanelTemplate especifica el panel que se usa para el diseño de elementos.The ItemsPanelTemplate specifies the panel that is used for the layout of items. GroupStyle tiene un Panel propiedad que es de tipo ItemsPanelTemplate.GroupStyle has a Panel property that is of type ItemsPanelTemplate. ItemsControl los tipos tienen un ItemsPanel propiedad que es de tipo ItemsPanelTemplate.ItemsControl types have an ItemsPanel property that is of type ItemsPanelTemplate.

Cada ItemsControl tipo tiene un valor predeterminado ItemsPanelTemplate.Each ItemsControl type has a default ItemsPanelTemplate. Para el ItemsControl clase, el valor predeterminado ItemsPanel valor es un ItemsPanelTemplate que especifica un StackPanel.For the ItemsControl class, the default ItemsPanel value is an ItemsPanelTemplate that specifies a StackPanel. Para el ListBox, usa el valor predeterminado el VirtualizingStackPanel.For the ListBox, the default uses the VirtualizingStackPanel. Para MenuItem, usa el valor predeterminado WrapPanel.For MenuItem, the default uses WrapPanel. Para StatusBar, usa el valor predeterminado DockPanel.For StatusBar, the default uses DockPanel.

Constructores

ItemsPanelTemplate() ItemsPanelTemplate() ItemsPanelTemplate() ItemsPanelTemplate()

Inicializa una instancia de la clase ItemsPanelTemplate.Initializes an instance of the ItemsPanelTemplate class.

ItemsPanelTemplate(FrameworkElementFactory) ItemsPanelTemplate(FrameworkElementFactory) ItemsPanelTemplate(FrameworkElementFactory) ItemsPanelTemplate(FrameworkElementFactory)

Inicializa una instancia de la clase ItemsPanelTemplate con la plantilla especificada.Initializes an instance of the ItemsPanelTemplate class with the specified template.

Métodos

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de llamada tiene acceso a este DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement) FindName(String, FrameworkElement)

Busca el elemento asociado al nombre especificado que se ha definido en esta plantilla.Finds the element associated with the specified name defined within this template.

(Inherited from FrameworkTemplate)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
LoadContent() LoadContent() LoadContent() LoadContent()

Carga el contenido de la plantilla como una instancia de un objeto y devuelve el elemento raíz del contenido.Loads the content of the template as an instance of an object and returns the root element of the content.

(Inherited from FrameworkTemplate)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

Registra un nuevo par de nombre y objeto en el ámbito de nombres actual.Registers a new name/object pair into the current name scope.

(Inherited from FrameworkTemplate)
Seal() Seal() Seal() Seal()

Bloquea la plantilla de modo que no se pueda modificar.Locks the template so it cannot be changed.

(Inherited from FrameworkTemplate)
ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager) ShouldSerializeResources(XamlDesignerSerializationManager)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad Resources en las instancias de esta clase.Returns a value that indicates whether serialization processes should serialize the value of the Resources property on instances of this class.

(Inherited from FrameworkTemplate)
ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree() ShouldSerializeVisualTree()

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad VisualTree en las instancias de esta clase.Returns a value that indicates whether serialization processes should serialize the value of the VisualTree property on instances of this class.

(Inherited from FrameworkTemplate)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

Quita una asignación de nombre y objeto del ámbito de nombres XAML.Removes a name/object mapping from the XAML namescope.

(Inherited from FrameworkTemplate)
ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement) ValidateTemplatedParent(FrameworkElement)

Comprueba que el elemento primario con plantilla es un objeto ItemsPresenter no nulo.Checks that the templated parent is a non-null ItemsPresenter object.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso que realiza la llamada tenga acceso a este DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Propiedades

Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el Dispatcher esto DispatcherObject está asociado.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
HasContent HasContent HasContent HasContent

Obtiene un valor que indica si esta plantilla tiene contenido optimizado.Gets a value that indicates whether this template has optimized content.

(Inherited from FrameworkTemplate)
ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal Inherited from FrameworkTemplate
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed Inherited from FrameworkTemplate
IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si este objeto está en un estado inmutable y, por lo tanto, no se puede cambiar.Gets a value that indicates whether this object is in an immutable state so it cannot be changed.

(Inherited from FrameworkTemplate)
Resources Resources Resources Resources

Obtiene o establece la colección de recursos que se pueden usar en el ámbito de esta plantilla.Gets or sets the collection of resources that can be used within the scope of this template.

(Inherited from FrameworkTemplate)
Template Template Template Template

Obtiene o establece una referencia al objeto que graba o reproduce los nodos XAML de la plantilla cuando un sistema de escritura define o aplica la plantilla.Gets or sets a reference to the object that records or plays the XAML nodes for the template when the template is defined or applied by a writer.

(Inherited from FrameworkTemplate)
VisualTree VisualTree VisualTree VisualTree

Obtiene o establece el nodo raíz de la plantilla.Gets or sets the root node of the template.

(Inherited from FrameworkTemplate)

Implementaciones de interfaz explícitas

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

Devuelve un objeto que tiene el nombre de identificación proporcionado.Returns an object that has the provided identifying name.

(Inherited from FrameworkTemplate)
IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

Consulta si la propiedad de ambiente especificada está disponible en el ámbito actual.Queries whether a specified ambient property is available in the current scope.

(Inherited from FrameworkTemplate)
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal() Inherited from FrameworkTemplate

Se aplica a

Consulte también: