NodeShape.BoundsRules (Propiedad)
Las reglas de los límites restringir cómo el usuario puede actualizar el tamaño y la posición del rectángulo delimitador.Reemplazo para devolver un BoundsRules.
Espacio de nombres: Microsoft.VisualStudio.Modeling.Diagrams
Ensamblado: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0.dll)
Sintaxis
'Declaración
Public Overridable ReadOnly Property BoundsRules As BoundsRules
public virtual BoundsRules BoundsRules { get; }
Valor de propiedad
Tipo: Microsoft.VisualStudio.Modeling.Diagrams.BoundsRules
Comentarios
Reemplace BoundsRules en la clase shape para restringir cómo el usuario puede mover o cambiar el tamaño de una forma.Por ejemplo, puede evitar que el usuario mueva una forma fuera de o en un área determinada, o podría restringir el ancho y el alto a intervalos concretos o las proporciones.Las reglas se aplican mientras el usuario está arrastrando la forma o sus lados o esquinas, y el usuario ve los movimientos de fantasma formar limitarse según las reglas.
Esta propiedad debe devolver una instancia de una clase que implementa BoundsRules.La implementación de BoundsRules debe tener un M:Microsoft.VisualStudio.Modeling.Diagrams.BoundsRules.GetCompliantBounds(Microsoft.VisualStudio.Modeling.Diagrams.ShapeElement,Microsoft.VisualStudio.Modeling.Diagrams.RectangleD)de método.Este método se llama repetidamente mientras el usuario arrastra la forma.El método se proporciona los límites propuestos, que representan el tamaño y posición que el usuario está intentando establecer.debe devolver los límites permitidos por la regla.
no se aplica ninguna restricción si BoundsRules devuelve nullreferencia null (Nothing en Visual Basic).
[!NOTA]
Si desea responder a un cambio de tamaño o de posición después de haberse producido, por ejemplo para ajustar las posiciones de formas adyacentes, cree un ChangeRule para observar la propiedad de AbsoluteBounds.Vea el ejemplo de AbsoluteBoundsDomainPropertyId.Si desea actualizar valores fuera del almacén, invalide el OnAbsoluteBoundsChanged.
Ejemplos
Este ejemplo restringe las formas de clase MyShape para tener un ancho mínimo especificado, y una ración específica de alto y ancho.
// MyShape is defined in DSL Definition.
public partial class MyShape
{
public override BoundsRules BoundsRules
{
get
{
return new MyShapeBoundsRule();
}
}
}
public class MyShapeBoundsRule : BoundsRules
{
public override RectangleD GetCompliantBounds(ShapeElement shape, RectangleD proposedBounds)
{
// Do not modify bounds if reading from file.
if (shape.Store.InSerializationTransaction)
return proposedBounds;
MyShape myShape = shape as MyShape;
if (myShape == null) return proposedBounds;
RectangleD approvedBounds = new RectangleD();
// In this rule, any Location is OK:
approvedBounds.Location = proposedBounds.Location;
// But the height and width are constrained:
approvedBounds.Height = Math.Max(proposedBounds.Height, 1.0);
approvedBounds.Width = approvedBounds.Height * 1.618;
return approvedBounds;
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Microsoft.VisualStudio.Modeling.Diagrams (Espacio de nombres)