ItemsPanelTemplate Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u het deelvenster op dat wordt ItemsPresenter gemaakt voor de indeling van de items van een ItemsControl.
public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
- Overname
Voorbeelden
Als u een horizontale ListBoxsjabloon wilt maken, kunt u een sjabloon maken waarmee een horizontale StackPanel sjabloon wordt opgegeven en deze als eigenschap ItemsPanel wordt ingesteld. In het volgende voorbeeld ziet u een ListBoxStyle die een horizontaal ListBoxmaakt.
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
In het volgende voorbeeld wordt een ControlTemplate horizontale ListBox weergave gemaakt met afgeronde hoeken. Houd er rekening mee dat in dit voorbeeld, in plaats van de ItemsPanel eigenschap in te stellen zoals in het vorige voorbeeld, de horizontale StackPanel waarde wordt opgegeven in de ControlTemplate. Houd er rekening mee dat de IsItemsHost eigenschap is ingesteld true op het StackPanelitem, waarmee wordt aangegeven dat de gegenereerde items in het deelvenster moeten worden geplaatst. Wanneer u het op deze manier opgeeft, kan de ItemsPanel gebruiker van het besturingselement niet worden vervangen zonder een ControlTemplate. Doe dit daarom alleen als u weet dat u niet wilt dat het paneel wordt vervangen zonder gebruik te maken van een sjabloon.
<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>
U kunt ook het volgende doen om dezelfde resultaten te bereiken. In dit geval maakt het ItemsPresenter deelvenster voor de indeling van de items op basis van wat is opgegeven door de 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>
Zie ItemsControl voor een voorbeeld van het gebruik van de verschillende stijl- en sjablooneigenschappen op de pagina.
Opmerkingen
Hiermee ItemsPanelTemplate geeft u het deelvenster op dat wordt gebruikt voor de indeling van items. GroupStyle heeft een Panel eigenschap van het type ItemsPanelTemplate. ItemsControl typen hebben een ItemsPanel eigenschap van het type ItemsPanelTemplate.
Elk ItemsControl type heeft een standaardwaarde ItemsPanelTemplate. Voor de ItemsControl klasse is de standaardwaarde ItemsPanel een ItemsPanelTemplate waarde die een StackPanel. Voor de ListBoxstandaardwaarde wordt de VirtualizingStackPanelstandaardwaarde gebruikt. Voor MenuItem, de standaard gebruikt WrapPanel. Voor StatusBar, de standaard gebruikt DockPanel.
Constructors
| Name | Description |
|---|---|
| ItemsPanelTemplate() |
Initialiseert een exemplaar van de ItemsPanelTemplate klasse. |
| ItemsPanelTemplate(FrameworkElementFactory) |
Initialiseert een exemplaar van de ItemsPanelTemplate klasse met de opgegeven sjabloon. |
Eigenschappen
| Name | Description |
|---|---|
| Dispatcher |
Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand. (Overgenomen van DispatcherObject) |
| HasContent |
Hiermee wordt een waarde opgehaald die aangeeft of deze sjabloon geoptimaliseerde inhoud heeft. (Overgenomen van FrameworkTemplate) |
| IsSealed |
Hiermee wordt een waarde opgehaald die aangeeft of dit object een onveranderbare status heeft, zodat het niet kan worden gewijzigd. (Overgenomen van FrameworkTemplate) |
| Resources |
Hiermee haalt u de verzameling resources op die kunnen worden gebruikt binnen het bereik van deze sjabloon. (Overgenomen van FrameworkTemplate) |
| Template |
Hiermee wordt een verwijzing opgehaald of ingesteld naar het object dat de XAML-knooppunten voor de sjabloon registreert of afspeelt wanneer de sjabloon wordt gedefinieerd of toegepast door een schrijver. (Overgenomen van FrameworkTemplate) |
| VisualTree |
Hiermee wordt het hoofdknooppunt van de sjabloon opgehaald of ingesteld. (Overgenomen van FrameworkTemplate) |
Methoden
| Name | Description |
|---|---|
| CheckAccess() |
Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FindName(String, FrameworkElement) |
Hiermee zoekt u het element dat is gekoppeld aan de opgegeven naam die in deze sjabloon is gedefinieerd. (Overgenomen van FrameworkTemplate) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| LoadContent() |
Laadt de inhoud van de sjabloon als een exemplaar van een object en retourneert het hoofdelement van de inhoud. (Overgenomen van FrameworkTemplate) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| RegisterName(String, Object) |
Registreert een nieuw naam-/objectpaar in het huidige naambereik. (Overgenomen van FrameworkTemplate) |
| Seal() |
Hiermee wordt de sjabloon vergrendeld zodat deze niet kan worden gewijzigd. (Overgenomen van FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Retourneert een waarde die aangeeft of serialisatieprocessen de waarde van de Resources eigenschap moeten serialiseren op exemplaren van deze klasse. (Overgenomen van FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Retourneert een waarde die aangeeft of serialisatieprocessen de waarde van de VisualTree eigenschap moeten serialiseren op exemplaren van deze klasse. (Overgenomen van FrameworkTemplate) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| UnregisterName(String) |
Hiermee verwijdert u een naam/objecttoewijzing uit de XAML-naamscoop. (Overgenomen van FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Hiermee wordt gecontroleerd of het bovenliggende item met sjabloon een niet-null-object ItemsPresenter is. |
| VerifyAccess() |
Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject. (Overgenomen van DispatcherObject) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| INameScope.FindName(String) |
Retourneert een object met de opgegeven identificatienaam. (Overgenomen van FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Query's of een opgegeven omgevingseigenschap beschikbaar is in het huidige bereik. (Overgenomen van FrameworkTemplate) |