ShapeElement.ZOrder, propriété
Détermine l'ordre dans lequel cette forme sera affichée par rapport à d'autres formes sur le diagramme. Normalement défini depuis l'ordre des formes enfants.
Espace de noms : Microsoft.VisualStudio.Modeling.Diagrams
Assembly : Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)
Syntaxe
'Déclaration
Public Overridable Property ZOrder As Double
public virtual double ZOrder { get; set; }
Valeur de propriété
Type : System.Double
Notes
Il est recommandé de ne pas définir directement la valeur, car le diagramme définit le ZOrder de toutes ses formes dans le cadre du processus de peinture. À la place, pour modifier l'ordre dans lequel les formes sont affichées, trier à nouveau des formes dans NestedChildShapesou RelativeChildShapes, puis appelez shape.Diagram.NeedsRenumber = true. Ceci que le diagramme réinitialise le ZOrders. Voir l'exemple suivant.
Exemples
/// <summary>
/// Command to send current shapes to the back.
/// </summary>
private void OnMenuSendShapesToBackCommand(object sender, EventArgs e)
{
MenuCommand command = sender as MenuCommand;
Store store = this.CurrentDocData.Store;
foreach (object selectedItem in this.CurrentSelection)
{
ShapeElement shape = selectedItem as ShapeElement;
if (shape == null || shape.ParentShape == null) continue;
if (shape.IsNestedChild)
{
using (Transaction t = store.TransactionManager.BeginTransaction("sendToBack"))
{
// Make the current shape the first in the list.
shape.ParentShape.NestedChildShapes.Move(shape, 0);
// Update the ZOrder of the shapes to reflect the change.
shape.Diagram.NeedsRenumber = true;
// Make sure the shape is redrawn:
shape.Invalidate();
t.Commit();
}
}
Pour vérifier que votre forme s'affiche toujours en haut du diagramme, vous pouvez substituer cette propriété comme suit.
/// <summary>
/// Gets the relative Z-Order for this ShapeElement.
/// Make sure that my shape stays above all other diagram elements.
/// Add a million to the Z-Order that we are given.
/// </summary>
public override double ZOrder
{
get
{
return base.ZOrder + 1e6;
}
// leave set{ } as inherited
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.