Поделиться через


ImageField - класс

Облегченный объект, представляющий часть фигуры, которая может отображать декораторы или фоны изображения.

Иерархия наследования

System.Object
  Microsoft.VisualStudio.Modeling.Diagrams.ShapeField
    Microsoft.VisualStudio.Modeling.Diagrams.ImageField

Пространство имен:  Microsoft.VisualStudio.Modeling.Diagrams
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (в Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Синтаксис

'Декларация
Public Class ImageField _
    Inherits ShapeField
public class ImageField : ShapeField

Тип ImageField предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод ImageField(String) Инициализирует новый экземпляр класса ImageField.
Открытый метод ImageField(String, Image) Инициализирует новый экземпляр класса ImageField.

В начало страницы

Свойства

  Имя Описание
Открытое свойство AnchoringBehavior Описывает, как содержимое поля должно располагаться, и сам размер относительно родительского ShapeElement. (Унаследовано от ShapeField.)
Открытое свойство DefaultAccessibleDescription Получает или задает описание с поддержкой специальных возможностей, используемое по умолчанию. (Унаследовано от ShapeField.)
Открытое свойство DefaultAccessibleName Получает или задает имя по умолчанию поля фигуры для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытое свойство DefaultAccessibleState Получает состояние по умолчанию поля фигуры для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытое свойство DefaultBackgroundBrushId Получает или задает идентификатор кисти, используемой по умолчанию для закрашивания фона поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultFocusable Получает поле фигуры и проверяет, может ли оно получать фокус, или дает полю фигуры способность получать фокус. (Унаследовано от ShapeField.)
Открытое свойство DefaultImage Получает или задает изображение по умолчанию, связанное с данным объектом ImageField.Изображение по умолчанию можно настроить, переопределив метод GetDisplayImage.
Открытое свойство DefaultInactiveSelectedBackgroundBrushId Получает или задает идентификатор кисти фона по умолчанию для поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultPenId Получает или задает идентификатор пера, используемого по умолчанию для поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultReflectParentFocusedState Получает поле дочерней фигуры и проверяет, должно ли оно получать фокус при получении фокуса его родительской фигуры, или задает способность отражать состояние фокуса его родительской фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultReflectParentSelectedState Получает поле дочерней фигуры и проверяет, должно ли оно выделяться при выделении его родительской фигуры, или задает способность отражать состояние выделения его родительской фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultSelectable Получает поле фигуры и проверяет, может ли оно быть выбрано по умолчанию, или задает состояние выбора по умолчанию поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultSelectedBackgroundBrushId Получает или задает идентификатор кисти фона по умолчанию для поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство DefaultUnscaled Получает или задает значение, указывающее, должно ли изображение отрисовываться немасштабированным по отношению к границам данного поля или масштабироваться в соответствии с его границами.
Открытое свойство DefaultVisibility Получает поле фигуры и проверяет, отображается ли оно по умолчанию, или задает видимость по умолчанию поля фигуры. (Унаследовано от ShapeField.)
Открытое свойство Name Получает имя поля фигуры. (Унаследовано от ShapeField.)

В начало страницы

Методы

  Имя Описание
Открытый метод AccessibleDoDefaultAction Выполняет действие по умолчанию для объекта со специальными возможностями. (Унаследовано от ShapeField.)
Открытый метод AllowInPlaceEditorAutoSize Разрешает автоматически изменять размер редактора на месте в поле фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateValueWith(Store, AssociatedPropertyInfo) Связывает поле фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateValueWith(Store, Guid) Связывает поле фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateValueWith(Store, Guid, AssociatedPropertyInfo) Связывает поле фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateVisibilityWith(Store, AssociatedPropertyInfo) Связывает видимость поля фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateVisibilityWith(Store, Guid) Связывает видимость поля фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод AssociateVisibilityWith(Store, Guid, AssociatedPropertyInfo) Связывает видимость поля фигуры со свойством домена, присвоенным элементу фигуры. (Унаследовано от ShapeField.)
Открытый метод CanEditValue Получает поле фигуры и проверяет, может ли оно редактироваться. (Унаследовано от ShapeField.)
Открытый метод CommitPendingEdit Фиксирует отложенную операцию внесения изменений. (Унаследовано от ShapeField.)
Открытый метод DoHitTest Выполняет проверку нажатия в указанной точке в схеме, чтобы определить, находится ли точка в границах поля формы. (Унаследовано от ShapeField.)
Открытый метод DoKeyboardNavigation Осуществляет переходы в поле фигуры с помощью клавиатуры. (Унаследовано от ShapeField.)
Открытый метод DoPaint Рисует содержимое ShapeField. (Переопределяет ShapeField.DoPaint(DiagramPaintEventArgs, ShapeElement).)
Открытый метод EditValue(ShapeElement, DiagramClientView) Открывается редактор на месте для поля формы. (Унаследовано от ShapeField.)
Открытый метод EditValue(ShapeElement, DiagramClientView, PointD) Открывается редактор на месте для поля формы. (Унаследовано от ShapeField.)
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод FindFirstChild Находит первое поле дочерней фигуры в поле родительской фигуры. (Унаследовано от ShapeField.)
Открытый метод FindLastChild Находит последнее поле дочерней фигуры в поле родительской фигуры. (Унаследовано от ShapeField.)
Открытый метод FindNextChild Находит следующее поле дочерней фигуры в поле родительской фигуры. (Унаследовано от ShapeField.)
Открытый метод FindNextInChildSubFields Находит следующее поле дочерней фигуры в последовательности переходов. (Унаследовано от ShapeField.)
Открытый метод FindPreviousChild Находит предыдущее поле дочерней фигуры в поле родительской фигуры. (Унаследовано от ShapeField.)
Открытый метод FindPreviousInChildSubFields Находит предыдущее поле дочерней фигуры в последовательности переходов. (Унаследовано от ShapeField.)
Открытый метод Focused Получает поле фигуры и проверяет, имеет ли оно фокус. (Унаследовано от ShapeField.)
Открытый метод GetAccessibilityObject Получает объект специальных возможностей, присвоенный полю фигуры. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleChild Получает объект специальных возможностей для поля дочерней фигуры. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleChildCount Получает количество объектов специальных возможностей, присвоенных полю родительской фигуры и полям ее дочерних фигур. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleDefaultActionDescription Получает назначение по умолчанию поля фигуры для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleDescription Возвращает доступное описание по умолчанию для поля изображения. (Переопределяет ShapeField.GetAccessibleDescription(ShapeElement).)
Открытый метод GetAccessibleHelp Получает справку поля фигуры для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleHelpTopicFileName Получает раздел справки для доступного объекта. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleHelpTopicId Получает идентификатор, присвоенный разделу справки для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleName Возвращает доступное описание имя по умолчанию для поля изображения. (Переопределяет ShapeField.GetAccessibleName(ShapeElement).)
Открытый метод GetAccessibleRole Извлекает доступную роль данного поля ShapeField. (Переопределяет ShapeField.GetAccessibleRole(ShapeElement).)
Открытый метод GetAccessibleState Получает состояние поля фигуры для объекта с возможностью доступа. (Унаследовано от ShapeField.)
Открытый метод GetAccessibleValue Получает значение в поле фигуры для объекта специальных возможностей. (Унаследовано от ShapeField.)
Открытый метод GetActiveInPlaceEditor Получает активный редактор на месте. (Унаследовано от ShapeField.)
Открытый метод GetBackgroundBrush Получает кисть, рисующую фон для элемента фигуры, которому присвоено данное поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetBackgroundBrushId Получает идентификатор кисти, рисующей фон для элемента фигуры, которому присвоено данное поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetBounds Получает границы для поля фигуры. (Унаследовано от ShapeField.)
Открытый метод GetCursor Получает указатель, который отображается при наведении указателя мыши на поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetDisplayImage Получает изображение, отображаемое данным полем.
Открытый метод GetFocusable Получает поле фигуры и проверяет, может ли оно получать фокус. (Унаследовано от ShapeField.)
Открытый метод GetHashCode Служит хэш-функцией по умолчанию. (Унаследовано от Object.)
Открытый метод GetInPlaceEditorBounds Получает границы для редактора на месте. (Унаследовано от ShapeField.)
Открытый метод GetMaximumInPlaceEditorSize Получает максимальные границы для редактора на месте. (Унаследовано от ShapeField.)
Открытый метод GetMinimumInPlaceEditorSize Получает минимальные границы для редактора на месте. (Унаследовано от ShapeField.)
Открытый метод GetMinimumSize Возвращает минимальный размер ImageField. (Переопределяет ShapeField.GetMinimumSize(ShapeElement).)
Открытый метод GetPen Получает перо, рисующее элемент фигуры, которому присвоено поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetPenId Получает идентификатор пера, рисующего элемент фигуры, которому присвоено поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetPotentialMouseAction Получает действие мыши, активируемое, когда затем пользователь щелкает определенную точку на схеме. (Унаследовано от ShapeField.)
Открытый метод GetSelectable Получает поле фигуры и проверяет, может ли оно быть выбрано. (Унаследовано от ShapeField.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод GetUnscaled Получает значение, указывающее, должно ли изображение рисоваться немасштабированным или нет.
Открытый метод GetValue Получает значение в поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetValueDomainPropertyInfo Получает свойство домена, присвоенное значению в поле фигуры. (Унаследовано от ShapeField.)
Открытый метод GetVisible Получает поле фигуры и проверяет, отображается ли оно. (Унаследовано от ShapeField.)
Открытый метод HasFocusedAppearance Получает поле фигуры и проверяет, должно ли оно отображаться как имеющее фокус. (Унаследовано от ShapeField.)
Открытый метод HasPendingEdit Получает поле фигуры и проверяет, активен ли его редактор на месте и есть ли ожидающее изменение. (Унаследовано от ShapeField.)
Открытый метод HasSelectedAppearance Получает поле фигуры и проверяет, выглядит ли оно как выбранное. (Унаследовано от ShapeField.)
Открытый метод IsNavigationKey(Char) Получает нажатую пользователем клавишу и проверяет, можно ли использовать ее для перехода между полями фигуры. (Унаследовано от ShapeField.)
Открытый метод IsNavigationKey(Keys) Получает нажатые пользователем клавиши и проверяет, можно ли их использовать для перехода между полями фигуры. (Унаследовано от ShapeField.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод NavigateAscend Перемещает фокус на предыдущее поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Открытый метод NavigateDescend Перемещает фокус на следующее поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Открытый метод NavigateToFirst Перемещает фокус на первое поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Открытый метод NavigateToLast Перемещает фокус на последнее поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Открытый метод NavigateToNext Перемещает фокус на следующее поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Открытый метод NavigateToPrevious Перемещает фокус на предыдущее поле фигуры в последовательности переходов для выбранных фигур. (Унаследовано от ShapeField.)
Защищенный метод OnBeginEdit Сообщает прослушивателям, когда началось редактирование на месте. (Унаследовано от ShapeField.)
Открытый метод OnClick Сообщает прослушивателям, когда пользователь нажимает поле фигуры. (Унаследовано от ShapeField.)
Открытый метод OnDoubleClick Сообщает прослушивателям, когда пользователь дважды нажимает поле фигуры. (Унаследовано от ShapeField.)
Защищенный метод OnEndEdit Сообщает прослушивателям, когда закончилось редактирование на месте. (Унаследовано от ShapeField.)
Открытый метод OnKeyDown Сообщает прослушивателям, когда пользователь удерживал клавишу, указывая на поле фигуры. (Унаследовано от ShapeField.)
Открытый метод OnKeyPress Сообщает прослушивателям, когда пользователь нажал клавишу, указывая на поле фигуры. (Унаследовано от ShapeField.)
Открытый метод OnKeyUp Сообщает прослушивателям, когда пользователь отпустил клавишу, указывая на поле фигуры. (Унаследовано от ShapeField.)
Открытый метод OnMouseDown Сообщает прослушивателям, когда пользователь удерживает клавишу мыши над полем фигуры. (Унаследовано от ShapeField.)
Открытый метод OnMouseMove Сообщает прослушивателям, когда было перемещение мыши над полем фигуры. (Унаследовано от ShapeField.)
Открытый метод OnMouseUp Сообщает прослушивателям, когда пользователь отпустил клавишу мыши над полем фигуры. (Унаследовано от ShapeField.)
Открытый метод OnMouseWheel Сообщает прослушивателям, когда был поворот мыши над полем фигуры. (Унаследовано от ShapeField.)
Открытый метод Selected Получает поле фигуры и проверяет, выбрано ли оно. (Унаследовано от ShapeField.)
Открытый метод SetSelectionRange Выделяет диапазон полей дочерних фигур. (Унаследовано от ShapeField.)
Открытый метод SetValue Присваивает указанное значение полю фигуры. (Унаследовано от ShapeField.)
Открытый метод SetVisible Задает видимость поля фигуры. (Унаследовано от ShapeField.)
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

В начало страницы

Заметки

При определении оформителя образа в фигуре и при определении фигуры образа, область, в которой отображается управляемых ImageField фигуры. Примеры инициализации ImageFields и других ShapeFields изучите Dsl\GeneratedCode\Shapes.cs в решении доменного языка.

ImageField объект, который управляет областью фигуры, такие как пробелы, в оформителю. Один экземпляр ImageField должен использоваться в нескольких фигур того же класса фигуры. Экземпляр ImageField не сохраняет изображение отдельно для каждой фигуры. вместо этого метод GetDisplayImage(ShapeElement) принимает форму в качестве параметра, и может искать зависимые образа на текущем состоянии фигуры и его элемента модели.

Если необходимо особое расширение функциональности, например переменной изображение, можно создать собственный класс, производный от ImageField.

Создание подкласса ImageField

  1. Задайте для свойства Создает производный тип double родительского класса фигуры в определении доменного языка.

  2. Переопределите метод InitializeShapeFields класса фигуры.

    • Создайте новый файл кода в проекте, и запись доменного языка определения разделяемого класса для класса фигуры. Переопределите определение метода в ней.
  3. Проверьте код InitializeShapeFields в DSL\GeneratedCode\Shapes.cs.

    В методе переопределения, вызовите базовый метод, а затем создайте экземпляр собственного класса отображенного поля. Используйте этот параметр, чтобы заменить стандартное отображенное поле в списке shapeFields.

Примеры

Этот пример выполняет зависимые изменения Значка в состоянии элемента модели фигуры.

Предупреждение

В этом примере демонстрируется создание оформителя динамического изображения.Но если только для переключения между одним или двумя способами в зависимости от состояния и переменной, она проще создать несколько оформителей образа найдите их в той же позиции на фигуре, а затем присваивается фильтр видимости, чтобы зависеть от конкретных значений и переменной.Установка фильтра, выбрав сопоставление фигуры в определении доменного языка, открыть окно " сведения о доменного языка, а затем выберите вкладку оформителей.

Чтобы выполнить этот пример, создайте новое решение доменного языка с помощью минимального количества языковому шаблону. Добавьте логическое значение AlternateState домена в доменному класс ExampleElement. Добавьте в класс оформитель Значка ExampleShape и установите его изображение в файл растрового изображения. Щелкните Преобразовать все шаблоны. Добавьте новый файл кода в проекте доменного языка и вставьте следующий код.

Чтобы выполнить код, нажмите клавишу F5 и в решении отладки, откройте схему примера. Состояние по умолчанию Значка должно отображаться. Выделите фигуры и в окне свойств измените значение свойства AlternateState. Значок должен быть затем вращанным через 90 градусов, с ней фигуре.

using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Diagrams;
...
partial class ExampleShape
{
    /// <summary>
    /// Compose a list of the fields in this shape.
    /// Called once for each shape class.
    /// </summary>
    /// <param name="shapeFields"></param>
    protected override void InitializeShapeFields(IList<ShapeField> shapeFields)
    {
      // Fields set up according to DSL Definition:
      base.InitializeShapeFields(shapeFields);

      // Replace the image field:
      ShapeField oldField = ShapeElement.FindShapeField(shapeFields, "IconDecorator");
      shapeFields.Remove(oldField);
      // Must keep the same name:
      MyImageField newField = new MyImageField(oldField.Name);
      shapeFields.Add(newField);
      newField.DefaultImage = (oldField as ImageField).DefaultImage.Clone() as System.Drawing.Image;
    }
  }


  public class MyImageField : ImageField
  {
    public MyImageField(string tag) : base(tag) { }

    /// <summary>
    /// Get the image for this field in the given shape.
    /// </summary>
    public override System.Drawing.Image GetDisplayImage(ShapeElement parentShape)
    {
      ExampleElement element = parentShape.ModelElement as ExampleElement;
      if (element.AlternateState == true)
        return AlternateImage;
      else
        return base.GetDisplayImage(parentShape);
    }

    private System.Drawing.Image alternateImage;
    public System.Drawing.Image AlternateImage
    {
      get
      {
        if (alternateImage == null)
        {
          // Alternate image is a copy of the default, rotated by 90 degrees:
          alternateImage = this.DefaultImage.Clone() as System.Drawing.Image;
          alternateImage.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
        }
        return alternateImage;
      }
    }
  }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.Diagrams - пространство имен

TextField

ShapeField

InitializeShapeFields