PropertyOrder – třída
Lze nastavit pořadí vlastností v kategorii nebo v seznamu sub-properties.
Hierarchie dědičnosti
System.Object
Microsoft.Windows.Design.OrderToken
Microsoft.Windows.Design.PropertyEditing.PropertyOrder
Obor názvů: Microsoft.Windows.Design.PropertyEditing
Sestavení: Microsoft.Windows.Design.Interaction (v Microsoft.Windows.Design.Interaction.dll)
Syntaxe
'Deklarace
Public NotInheritable Class PropertyOrder _
Inherits OrderToken
public sealed class PropertyOrder : OrderToken
public ref class PropertyOrder sealed : public OrderToken
[<Sealed>]
type PropertyOrder =
class
inherit OrderToken
end
public final class PropertyOrder extends OrderToken
Typ PropertyOrder zveřejňuje následující členy.
Vlastnosti
Název | Popis | |
---|---|---|
Default | Získá pořadí systémem definované výchozí polohy. | |
Early | Získává pozici definované systémem včasné objednávky. | |
Late | Získává pozici definované systémem pozdní objednávky. |
Na začátek
Metody
Název | Popis | |
---|---|---|
CompareTo | Porovná tento token objednávky s tokenem určeném pořadí. (Zděděno z OrderToken.) | |
CreateAfter | Vytvoří PropertyOrder objekt, který vkládá zadaný token. | |
CreateBefore | Vytvoří PropertyOrder objektu přidaná před zadaný token. | |
Equals | Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z OrderToken.) | |
Finalize | Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.) | |
GetHashCode | Slouží jako funkce hash určitého typu. (Zděděno z OrderToken.) | |
GetType | Získává Type aktuální instance. (Zděděno z Object.) | |
MemberwiseClone | Vytvoří kopii aktuální Object. (Zděděno z Object.) | |
ResolveConflict | Nazývá výchozí CompareTo provádění při dvou OrderToken objektů se jeví jako rovnocenné. (Zděděno z OrderToken.) | |
ToString | Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.) |
Na začátek
Poznámky
Vytvoření soukromé PropertyOrder instance seskupit sadu vlastností v okně Vlastnosti.
PropertyOrder Třídy řídí vlastnost objednávání, což zahrnuje vlastnosti kořenové a sub-properties. Kořenové vlastnosti jsou seřazeny nejprve do kategorií, pak abecedně a nakonec podle PropertyOrder. Sub-Properties jsou seřazeny podle PropertyOrder a pak abecedně.
Poznámka
Toto chování se liší od model Windows Forms Designer, který používá GetProperties Metoda k určení pořadí vlastnosti. Pro Návrhář WPF, pomocí vlastnosti řazení PropertyOrder Třída
Standardní pořadí tokeny jsou k dispozici PropertyOrder Třída Zahrnout tyto tokeny systému definovaném pořadí Early, Default a Late Vlastnosti. Early Token pořadí odkazuje na vyšší pozici v okně Vlastnosti.
Vlastnosti bez určité vlastnosti zakázky jsou uvedeny Default objednávky. Lze odvodit z této třídy a vytvořit vlastní vlastní pořadí tokeny, které lze zaručit pořadí vlastností a vlastností seskupení.
Příklady
Následující příklad kódu ukazuje, jak lze odvodit z PropertyOrder implementovat
LayoutSizePrioritypro třídy Width a Height Vlastnosti. Je vytvořena po Early objednávky. Proto se zdá později v seznamu než Early Vlastnosti. LayoutAlignmentPriority Se používá pro HorizontalAlignment a VerticalAlignment Vlastnosti a je vytvořena po LayoutSizePriority.
PropertyOrder Instance jsou vázány na vlastnosti pomocí PropertyOrderAttribute. CreateBefore a CreateAfter metody pozice Width před Height a HorizontalAlignment před VerticalAlignment.
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports Microsoft.Windows.Design.PropertyEditing
Imports Microsoft.Windows.Design.Metadata
Public Class PropertyOrderTokens
Private Shared layoutSizePriorityValue As PropertyOrder
Private Shared layoutAlignmentPriorityValue As PropertyOrder
Public Shared ReadOnly Property LayoutSizePriority() As PropertyOrder
Get
If layoutSizePriorityValue Is Nothing Then
LayoutSizePriority = PropertyOrder.CreateAfter(PropertyOrder.Early)
End If
Return layoutSizePriorityValue
End Get
End Property
Public Shared ReadOnly Property LayoutAlignmentPriority() As PropertyOrder
Get
If layoutAlignmentPriorityValue Is Nothing Then
layoutAlignmentPriorityValue = PropertyOrder.CreateAfter(PropertyOrderTokens.LayoutSizePriority)
End If
Return layoutAlignmentPriorityValue
End Get
End Property
End Class
' Container for any general design-time metadata to initialize.
' Designers look for a type in the design-time assembly that
' implements IProvideAttributeTable. If found, designers instantiate
' this class and access its AttributeTable property automatically.
Friend Class Metadata
Implements IProvideAttributeTable
' Accessed by the designer to register any design-time metadata.
Public ReadOnly Property AttributeTable() As AttributeTable _
Implements IProvideAttributeTable.AttributeTable
Get
Dim builder As New AttributeTableBuilder()
builder.AddCustomAttributes( _
GetType(Button), _
"HeightProperty", _
New PropertyOrderAttribute( _
PropertyOrder.CreateAfter( _
PropertyOrderTokens.LayoutSizePriority)))
builder.AddCustomAttributes( _
GetType(Button), _
"Width", _
New PropertyOrderAttribute( _
PropertyOrder.CreateBefore( _
PropertyOrderTokens.LayoutSizePriority)))
builder.AddCustomAttributes( _
GetType(Button), _
"VerticalAlignment", _
New PropertyOrderAttribute( _
PropertyOrder.CreateAfter( _
PropertyOrderTokens.LayoutAlignmentPriority)))
builder.AddCustomAttributes( _
GetType(Button), _
"HorizontalAlignment", _
New PropertyOrderAttribute( _
PropertyOrder.CreateBefore( _
PropertyOrderTokens.LayoutAlignmentPriority)))
Return builder.CreateTable()
End Get
End Property
End Class
using System;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Windows.Design.PropertyEditing;
using Microsoft.Windows.Design.Metadata;
public static class PropertyOrderTokens
{
private static PropertyOrder layoutSizePriority;
private static PropertyOrder layoutAlignmentPriority;
public static PropertyOrder LayoutSizePriority
{
get
{
if (layoutSizePriority == null)
{
layoutSizePriority = PropertyOrder.CreateAfter(
PropertyOrder.Early);
}
return layoutSizePriority;
}
}
public static PropertyOrder LayoutAlignmentPriority
{
get
{
if (layoutAlignmentPriority == null)
{
layoutAlignmentPriority = PropertyOrder.CreateAfter(
PropertyOrderTokens.LayoutSizePriority);
}
return layoutAlignmentPriority;
}
}
}
// Container for any general design-time metadata to initialize.
// Designers look for a type in the design-time assembly that
// implements IProvideAttributeTable. If found, designers instantiate
// this class and access its AttributeTable property automatically.
internal class Metadata : IProvideAttributeTable
{
// Accessed by the designer to register any design-time metadata.
public AttributeTable AttributeTable
{
get
{
AttributeTableBuilder builder = new AttributeTableBuilder();
builder.AddCustomAttributes(
typeof(Button),
"Height",
new PropertyOrderAttribute(
PropertyOrder.CreateAfter(
PropertyOrderTokens.LayoutSizePriority)));
builder.AddCustomAttributes(
typeof(Button),
"Width",
new PropertyOrderAttribute(
PropertyOrder.CreateBefore(
PropertyOrderTokens.LayoutSizePriority)));
builder.AddCustomAttributes(
typeof(Button),
"VerticalAlignment",
new PropertyOrderAttribute(
PropertyOrder.CreateAfter(
PropertyOrderTokens.LayoutAlignmentPriority)));
builder.AddCustomAttributes(
typeof(Button),
"HorizontalAlignment",
new PropertyOrderAttribute(
PropertyOrder.CreateBefore(
PropertyOrderTokens.LayoutAlignmentPriority)));
return builder.CreateTable();
}
}
}
Zabezpečení podprocesu
Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.
Viz také
Odkaz
Microsoft.Windows.Design.PropertyEditing – obor názvů