StyleBoxFlat
Панель без текстуры: заливка, границы, скругления и тень.
Назначьте StyleBoxFlat в theme-слот элемента, например panel у PanelContainer или normal у Button. Ресурс можно разделять между элементами; для независимого оформления используйте Duplicate. По умолчанию заливка серая (0.6, 0.6, 0.6, 1), границы имеют цвет (0.8, 0.8, 0.8, 1), но нулевую толщину. DrawCenter включён. Изменения собственных свойств испускают Changed даже при повторной записи того же значения.
BorderWidth задаёт рисунок границы и автоматические поля содержимого. Если соответствующий ContentMargin отрицателен, он берёт толщину границы; явный ContentMargin имеет приоритет. Например, граница 4 со всех сторон даёт минимум стиля (8, 8), а ContentMarginLeft = 10 меняет только левый отступ. GetBorderWidthMin возвращает наименьшую из четырёх толщин, а не минимум Control.
CornerRadius хранит запрошенные радиусы в пикселях. При рисовании движок подгоняет границы и скругления под доступный прямоугольник, не меняя сохранённые свойства. Большой радиус не увеличивает минимум панели. CornerDetail задаёт число сегментов дуги: 8 по умолчанию, диапазон 1–20. Используйте неотрицательные толщины и радиусы.
AntiAliasing по умолчанию включён, но применяется только при скруглениях или ненулевом Skew. Прямоугольник с прямыми углами без наклона не получает дополнительное размытие края. AntiAliasingSize — ширина сглаживаемого перехода, 1 по умолчанию, с ограничением 0.01–10; при рисовании учитывается масштаб canvas. Это локальное сглаживание стиля, отдельное от MSAA/FXAA.
ExpandMargin расширяет рисунок, а ShadowSize и ShadowOffset добавляют декоративную тень. Они не резервируют место в контейнере и не увеличивают ContentMargin. По умолчанию ShadowSize = 0: тени нет, хотя ShadowColor уже задан как (0, 0, 0, 0.6). Тень рисуется градиентом к прозрачности; ShadowSize не является радиусом Gaussian blur. Предусмотрите место вокруг панели, если соседние элементы или ClipContents обрезают эффект.
Skew — коэффициенты сдвига вершин вокруг центра рисунка, не углы в градусах и не transform дочерних Control. DrawCenter = false убирает заливку, оставляя возможные границы и тень. BorderBlend смешивает внутренний край границы с BgColor, а без заливки — с прозрачностью. Ни скругления, ни прозрачная середина автоматически не меняют область клика или обрезку дочерних элементов.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
StyleBoxFlatКонструктор
public StyleBoxFlat();Создаёт серую панель: DrawCenter и AntiAliasing включены, границы/радиусы/тень/расширение/Skew нулевые, CornerDetail = 8, AntiAliasingSize = 1.
Свойства23
AntiAliasingСвойство
public bool AntiAliasing { get; set; }Локальное сглаживание края, true по умолчанию. Используется только при скруглениях или ненулевом Skew; выключение не сбрасывает AntiAliasingSize.
AntiAliasingSizeСвойство
public float AntiAliasingSize { get; set; }Ширина перехода сглаживания, 1 по умолчанию; setter ограничивает 0.01–10. Рисование учитывает масштаб canvas; при выключенном сглаживании число сохраняется, но не применяется.
BgColorСвойство
public Color BgColor { get; set; }Цвет и альфа заливки; по умолчанию (0.6, 0.6, 0.6, 1). Заливка рисуется при DrawCenter; BorderBlend также использует этот цвет у внутреннего края границы.
BorderBlendСвойство
public bool BorderBlend { get; set; }Переход от BorderColor к BgColor через толщину границы; false по умолчанию. При DrawCenter = false внутренний край становится прозрачным. Не меняет толщину или поля.
BorderColorСвойство
public Color BorderColor { get; set; }Цвет и альфа границы, по умолчанию (0.8, 0.8, 0.8, 1). При нулевых BorderWidth граница не рисуется.
BorderWidthBottomСвойство
public int BorderWidthBottom { get; set; }Толщина границы Bottom в пикселях, 0 по умолчанию. Используйте неотрицательное число; задаёт автоматическое поле этой стороны, если ContentMargin отрицателен.
BorderWidthLeftСвойство
public int BorderWidthLeft { get; set; }Толщина границы Left в пикселях, 0 по умолчанию. Используйте неотрицательное число; задаёт автоматическое поле этой стороны, если ContentMargin отрицателен.
BorderWidthRightСвойство
public int BorderWidthRight { get; set; }Толщина границы Right в пикселях, 0 по умолчанию. Используйте неотрицательное число; задаёт автоматическое поле этой стороны, если ContentMargin отрицателен.
BorderWidthTopСвойство
public int BorderWidthTop { get; set; }Толщина границы Top в пикселях, 0 по умолчанию. Используйте неотрицательное число; задаёт автоматическое поле этой стороны, если ContentMargin отрицателен.
CornerDetailСвойство
public int CornerDetail { get; set; }Число сегментов на дугу скруглённого угла; 8 по умолчанию, setter ограничивает 1–20. Не задаёт радиус, разрешение текстуры или ширину сглаживания.
CornerRadiusBottomLeftСвойство
public int CornerRadiusBottomLeft { get; set; }Запрошенный радиус угла BottomLeft в пикселях, 0 по умолчанию. Используйте неотрицательное число; рисунок адаптируется к размеру без изменения свойства. Не обрезает дочерние элементы.
CornerRadiusBottomRightСвойство
public int CornerRadiusBottomRight { get; set; }Запрошенный радиус угла BottomRight в пикселях, 0 по умолчанию. Используйте неотрицательное число; рисунок адаптируется к размеру без изменения свойства. Не обрезает дочерние элементы.
CornerRadiusTopLeftСвойство
public int CornerRadiusTopLeft { get; set; }Запрошенный радиус угла TopLeft в пикселях, 0 по умолчанию. Используйте неотрицательное число; рисунок адаптируется к размеру без изменения свойства. Не обрезает дочерние элементы.
CornerRadiusTopRightСвойство
public int CornerRadiusTopRight { get; set; }Запрошенный радиус угла TopRight в пикселях, 0 по умолчанию. Используйте неотрицательное число; рисунок адаптируется к размеру без изменения свойства. Не обрезает дочерние элементы.
DrawCenterСвойство
public bool DrawCenter { get; set; }Рисовать заливку, true по умолчанию. false не удаляет границы, тень, поля или область ввода Control.
ExpandMarginBottomСвойство
public float ExpandMarginBottom { get; set; }Расширение рисунка за сторону Bottom в пикселях, 0 по умолчанию. Не увеличивает поля или минимум; используйте конечное число.
ExpandMarginLeftСвойство
public float ExpandMarginLeft { get; set; }Расширение рисунка за сторону Left в пикселях, 0 по умолчанию. Не увеличивает поля или минимум; используйте конечное число.
ExpandMarginRightСвойство
public float ExpandMarginRight { get; set; }Расширение рисунка за сторону Right в пикселях, 0 по умолчанию. Не увеличивает поля или минимум; используйте конечное число.
ExpandMarginTopСвойство
public float ExpandMarginTop { get; set; }Расширение рисунка за сторону Top в пикселях, 0 по умолчанию. Не увеличивает поля или минимум; используйте конечное число.
ShadowColorСвойство
public Color ShadowColor { get; set; }Цвет и альфа декоративной тени, по умолчанию (0, 0, 0, 0.6). Для появления тени нужен положительный ShadowSize.
ShadowOffsetСвойство
public Vector2 ShadowOffset { get; set; }Сдвиг тени в локальных пикселях, Vector2.Zero по умолчанию. Не двигает заливку, границы, дочерние элементы или поля.
ShadowSizeСвойство
public int ShadowSize { get; set; }Расширение затухающей тени в пикселях, 0 по умолчанию отключает её. Используйте неотрицательное число. Не резервирует поля и не задаёт Gaussian blur.
SkewСвойство
public Vector2 Skew { get; set; }Коэффициенты сдвига вершин рисунка, Vector2.Zero по умолчанию: x добавляет -Skew.X × (y - centerY), y добавляет -Skew.Y × (x - centerX). Это не градусы и не раскладка дочерних элементов. Используйте конечные числа.
Методы32
GetAASizefloat
public float GetAASize();Ширина перехода сглаживания, 1 по умолчанию; setter ограничивает 0.01–10. Рисование учитывает масштаб canvas; при выключенном сглаживании число сохраняется, но не применяется.
floatСохранённая ширина сглаживания в диапазоне 0.01–10.
GetBgColorColor
public Color GetBgColor();Цвет и альфа заливки; по умолчанию (0.6, 0.6, 0.6, 1). Заливка рисуется при DrawCenter; BorderBlend также использует этот цвет у внутреннего края границы.
ColorЦвет и альфа заливки.
GetBorderBlendbool
public bool GetBorderBlend();Переход от BorderColor к BgColor через толщину границы; false по умолчанию. При DrawCenter = false внутренний край становится прозрачным. Не меняет толщину или поля.
booltrue, если включён переход к внутреннему цвету.
GetBorderColorColor
public Color GetBorderColor();Цвет и альфа границы, по умолчанию (0.8, 0.8, 0.8, 1). При нулевых BorderWidth граница не рисуется.
ColorЦвет и альфа границы.
GetBorderWidthint
public int GetBorderWidth(Side margin);Возвращает запрошенную толщину выбранной границы в пикселях. При рисовании в тесном прямоугольнике фактическая толщина может быть уменьшена.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
marginСторона Side.Left, Top, Right или Bottom.
intЗапрошенная толщина границы выбранной стороны в пикселях.
GetBorderWidthMinint
public int GetBorderWidthMin();Возвращает минимум четырёх сохранённых толщин границы. Не возвращает Vector2 минимума панели и не учитывает ContentMargin.
intНаименьшая из четырёх сохранённых толщин границы.
GetCornerDetailint
public int GetCornerDetail();Число сегментов на дугу скруглённого угла; 8 по умолчанию, setter ограничивает 1–20. Не задаёт радиус, разрешение текстуры или ширину сглаживания.
intЧисло сегментов дуги, 1–20.
GetCornerRadiusint
public int GetCornerRadius(Corner corner);Возвращает сохранённый радиус выбранного угла в пикселях. Радиус рисунка может быть адаптирован к доступному размеру.
| Имя | Тип | По умолчанию |
|---|---|---|
corner | Corner | — |
cornerУгол Corner.TopLeft, TopRight, BottomRight или BottomLeft.
intЗапрошенный радиус выбранного угла в пикселях.
GetExpandMarginfloat
public float GetExpandMargin(Side margin);Возвращает сохранённое расширение рисунка стороны в пикселях, не отступ содержимого.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
marginСторона Side.Left, Top, Right или Bottom.
floatРасширение рисунка выбранной стороны в пикселях.
GetShadowColorColor
public Color GetShadowColor();Цвет и альфа декоративной тени, по умолчанию (0, 0, 0, 0.6). Для появления тени нужен положительный ShadowSize.
ColorЦвет и альфа тени.
GetShadowOffsetVector2
public Vector2 GetShadowOffset();Сдвиг тени в локальных пикселях, Vector2.Zero по умолчанию. Не двигает заливку, границы, дочерние элементы или поля.
Vector2Сдвиг тени в локальных пикселях.
GetShadowSizeint
public int GetShadowSize();Расширение затухающей тени в пикселях, 0 по умолчанию отключает её. Используйте неотрицательное число. Не резервирует поля и не задаёт Gaussian blur.
intСохранённое расширение тени в пикселях.
GetSkewVector2
public Vector2 GetSkew();Коэффициенты сдвига вершин рисунка, Vector2.Zero по умолчанию: x добавляет -Skew.X × (y - centerY), y добавляет -Skew.Y × (x - centerX). Это не градусы и не раскладка дочерних элементов. Используйте конечные числа.
Vector2Коэффициенты сдвига вершин (X, Y).
IsAntiAliasedbool
public bool IsAntiAliased();Локальное сглаживание края, true по умолчанию. Используется только при скруглениях или ненулевом Skew; выключение не сбрасывает AntiAliasingSize.
boolСохранённый флаг локального сглаживания.
IsDrawCenterEnabledbool
public bool IsDrawCenterEnabled();Рисовать заливку, true по умолчанию. false не удаляет границы, тень, поля или область ввода Control.
booltrue, если включена заливка середины.
SetAASizevoid
public void SetAASize(float size);Ширина перехода сглаживания, 1 по умолчанию; setter ограничивает 0.01–10. Рисование учитывает масштаб canvas; при выключенном сглаживании число сохраняется, но не применяется.
| Имя | Тип | По умолчанию |
|---|---|---|
size | float | — |
sizeШирина перехода сглаживания, 1 по умолчанию; setter ограничивает 0.01–10. Рисование учитывает масштаб canvas; при выключенном сглаживании число сохраняется, но не применяется.
SetAntiAliasedvoid
public void SetAntiAliased(bool antiAliased);Локальное сглаживание края, true по умолчанию. Используется только при скруглениях или ненулевом Skew; выключение не сбрасывает AntiAliasingSize.
| Имя | Тип | По умолчанию |
|---|---|---|
antiAliased | bool | — |
antiAliasedЛокальное сглаживание края, true по умолчанию. Используется только при скруглениях или ненулевом Skew; выключение не сбрасывает AntiAliasingSize.
SetBgColorvoid
public void SetBgColor(Color color);Цвет и альфа заливки; по умолчанию (0.6, 0.6, 0.6, 1). Заливка рисуется при DrawCenter; BorderBlend также использует этот цвет у внутреннего края границы.
| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
colorЦвет и альфа заливки; по умолчанию (0.6, 0.6, 0.6, 1). Заливка рисуется при DrawCenter; BorderBlend также использует этот цвет у внутреннего края границы.
SetBorderBlendvoid
public void SetBorderBlend(bool blend);Переход от BorderColor к BgColor через толщину границы; false по умолчанию. При DrawCenter = false внутренний край становится прозрачным. Не меняет толщину или поля.
| Имя | Тип | По умолчанию |
|---|---|---|
blend | bool | — |
blendПереход от BorderColor к BgColor через толщину границы; false по умолчанию. При DrawCenter = false внутренний край становится прозрачным. Не меняет толщину или поля.
SetBorderColorvoid
public void SetBorderColor(Color color);Цвет и альфа границы, по умолчанию (0.8, 0.8, 0.8, 1). При нулевых BorderWidth граница не рисуется.
| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
colorЦвет и альфа границы, по умолчанию (0.8, 0.8, 0.8, 1). При нулевых BorderWidth граница не рисуется.
SetBorderWidthvoid
public void SetBorderWidth(Side margin, int width);Задаёт толщину границы стороны в пикселях и испускает Changed. Используйте неотрицательное число. При автоматическом ContentMargin меняет также поля и минимум.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
width | int | — |
marginСторона Side.Left, Top, Right или Bottom.
widthЗадаёт толщину границы стороны в пикселях и испускает Changed. Используйте неотрицательное число. При автоматическом ContentMargin меняет также поля и минимум.
SetBorderWidthAllvoid
public void SetBorderWidthAll(int width);Задаёт одинаковую толщину четырём границам и испускает Changed один раз. Явные ContentMargin не переписываются.
| Имя | Тип | По умолчанию |
|---|---|---|
width | int | — |
widthЗадаёт одинаковую толщину четырём границам и испускает Changed один раз. Явные ContentMargin не переписываются.
SetCornerDetailvoid
public void SetCornerDetail(int detail);Число сегментов на дугу скруглённого угла; 8 по умолчанию, setter ограничивает 1–20. Не задаёт радиус, разрешение текстуры или ширину сглаживания.
| Имя | Тип | По умолчанию |
|---|---|---|
detail | int | — |
detailЧисло сегментов на дугу скруглённого угла; 8 по умолчанию, setter ограничивает 1–20. Не задаёт радиус, разрешение текстуры или ширину сглаживания.
SetCornerRadiusvoid
public void SetCornerRadius(Corner corner, int radius);Задаёт радиус выбранного угла в пикселях и испускает Changed. Используйте неотрицательное число; минимум и область клика не увеличиваются.
| Имя | Тип | По умолчанию |
|---|---|---|
corner | Corner | — |
radius | int | — |
cornerУгол Corner.TopLeft, TopRight, BottomRight или BottomLeft.
radiusЗадаёт радиус выбранного угла в пикселях и испускает Changed. Используйте неотрицательное число; минимум и область клика не увеличиваются.
SetCornerRadiusAllvoid
public void SetCornerRadiusAll(int radius);Задаёт один радиус всем четырём углам и испускает Changed один раз. Рисование подгоняет скругления под прямоугольник, не меняя сохранённые радиусы.
| Имя | Тип | По умолчанию |
|---|---|---|
radius | int | — |
radiusЗадаёт один радиус всем четырём углам и испускает Changed один раз. Рисование подгоняет скругления под прямоугольник, не меняя сохранённые радиусы.
SetDrawCentervoid
public void SetDrawCenter(bool drawCenter);Рисовать заливку, true по умолчанию. false не удаляет границы, тень, поля или область ввода Control.
| Имя | Тип | По умолчанию |
|---|---|---|
drawCenter | bool | — |
drawCenterРисовать заливку, true по умолчанию. false не удаляет границы, тень, поля или область ввода Control.
SetExpandMarginvoid
public void SetExpandMargin(Side margin, float size);Задаёт выход рисунка за сторону rect в пикселях и испускает Changed. Положительное число расширяет рисунок без увеличения минимума; используйте конечное значение.
| Имя | Тип | По умолчанию |
|---|---|---|
margin | Side | — |
size | float | — |
marginСторона Side.Left, Top, Right или Bottom.
sizeЗадаёт выход рисунка за сторону rect в пикселях и испускает Changed. Положительное число расширяет рисунок без увеличения минимума; используйте конечное значение.
SetExpandMarginAllvoid
public void SetExpandMarginAll(float size);Задаёт одно расширение рисунка всем сторонам и испускает Changed один раз. Контейнер не резервирует эту область; используйте конечное значение.
| Имя | Тип | По умолчанию |
|---|---|---|
size | float | — |
sizeЗадаёт одно расширение рисунка всем сторонам и испускает Changed один раз. Контейнер не резервирует эту область; используйте конечное значение.
SetShadowColorvoid
public void SetShadowColor(Color color);Цвет и альфа декоративной тени, по умолчанию (0, 0, 0, 0.6). Для появления тени нужен положительный ShadowSize.
| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
colorЦвет и альфа декоративной тени, по умолчанию (0, 0, 0, 0.6). Для появления тени нужен положительный ShadowSize.
SetShadowOffsetvoid
public void SetShadowOffset(Vector2 offset);Сдвиг тени в локальных пикселях, Vector2.Zero по умолчанию. Не двигает заливку, границы, дочерние элементы или поля.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
offsetСдвиг тени в локальных пикселях, Vector2.Zero по умолчанию. Не двигает заливку, границы, дочерние элементы или поля.
SetShadowSizevoid
public void SetShadowSize(int size);Расширение затухающей тени в пикселях, 0 по умолчанию отключает её. Используйте неотрицательное число. Не резервирует поля и не задаёт Gaussian blur.
| Имя | Тип | По умолчанию |
|---|---|---|
size | int | — |
sizeРасширение затухающей тени в пикселях, 0 по умолчанию отключает её. Используйте неотрицательное число. Не резервирует поля и не задаёт Gaussian blur.
SetSkewvoid
public void SetSkew(Vector2 skew);Коэффициенты сдвига вершин рисунка, Vector2.Zero по умолчанию: x добавляет -Skew.X × (y - centerY), y добавляет -Skew.Y × (x - centerX). Это не градусы и не раскладка дочерних элементов. Используйте конечные числа.
| Имя | Тип | По умолчанию |
|---|---|---|
skew | Vector2 | — |
skewКоэффициенты сдвига вершин рисунка, Vector2.Zero по умолчанию: x добавляет -Skew.X × (y - centerY), y добавляет -Skew.Y × (x - centerX). Это не градусы и не раскладка дочерних элементов. Используйте конечные числа.