RawFrame
IShape.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
- интерфейс IShape
- пространство имен Aspose.Slides
- сборка Aspose.Slides