RawFrame
Shape.RawFrame свойство
Возвращает или устанавливает свойства рамки сырой формы. Чтение/запись IShapeFrame
.
public IShapeFrame RawFrame { get; set; }
Примеры
Код, который пытается присвоить неопределенную рамку IShape.Frame, не имеет смысла в общем случае (особенно если родительская GroupShape вложена в другие GroupShape). Например:
IShape shape = ...;
shape.Frame = new ShapeFrame(float.NaN, float.NaN, float.NaN, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, float.NaN);
или
slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, float.NaN, float.NaN, float.NaN, float.NaN);
Такой код может привести к неясным ситуациям. Поэтому были добавлены ограничения на использование неопределенных значений для IShape.Frame. Значения x, y, width, height, flipH, flipV и rotationAngle должны быть определены (не float.NaN или NullableBool.NotDefined). Пример кода выше теперь вызывает исключение ArgumentException. Это относится к следующим случаям использования:
IShape shape = ...;
shape.Frame = ...; // не может быть неопределенным
IShapeCollection shapes = ...;
// параметры x, y, width, height не могут быть float.NaN:
{
shapes.AddAudioFrameCD(...);
shapes.AddAudioFrameEmbedded(...);
shapes.AddAudioFrameLinked(...);
shapes.AddAutoShape(...);
shapes.AddChart(...);
shapes.AddConnector(...);
shapes.AddOleObjectFrame(...);
shapes.AddPictureFrame(...);
shapes.AddSmartArt(...);
shapes.AddTable(...);
shapes.AddVideoFrame(...);
shapes.InsertAudioFrameEmbedded(...);
shapes.InsertAudioFrameLinked(...);
shapes.InsertAutoShape(...);
shapes.InsertChart(...);
shapes.InsertConnector(...);
shapes.InsertOleObjectFrame(...);
shapes.InsertPictureFrame(...);
shapes.InsertTable(...);
shapes.InsertVideoFrame(...);
}
Но свойства рамки IShape.RawFrame могут быть неопределенными. Это имеет смысл, когда форма связана с заполнительными элементами. Тогда неопределенные значения рамки формы переопределяются значениями родительской формы-заполнителя. Если для этой формы нет родительской формы-заполнителя, то она использует значения по умолчанию при оценке эффективной рамки на основе своего IShape.RawFrame. Значения по умолчанию - 0 и NullableBool.False для x, y, width, height, flipH, flipV и rotationAngle. Например:
IShape shape = ...; // форма связана с заполнителем
shape.RawFrame = new ShapeFrame(float.NaN, float.NaN, 100, float.NaN, NullableBool.NotDefined, NullableBool.NotDefined, 0); // теперь форма унаследует значения x, y, height, flipH, flipV от заполнителя и переопределяет width=100 и rotationAngle=0.
Смотрите также
- интерфейс IShapeFrame
- класс Shape
- пространство имен Aspose.Slides
- сборка Aspose.Slides