New features
- Added new syntax for child elements using constructors:
new Element(new Child(), "text")
(closer resembles LINQ to XML;Children
property should still be used in complex multi-line cases with other properties). - Added new syntax for attached properties:
new Element { Values = { Foo.Bar == 1 } }
. - Added new syntax in fluent mode (requires
using Alba.CsConsoleFormat.Fluent
):- Properties with unique enums:
new Element { Values = { DockTo.Left } }
. - Color and Background properties:
new Element { Values = { White } }
andnew Element { Values = { White.On(Black) } }
. GridLength
extension methods for integers:1.Star()
and2.Char()
.- ConsoleTest project now includes new sample usage of all fluent syntax.
- Properties with unique enums:
Changes
- API changes:
- Renamed
Canvas
element toAbsolute
(closer resembles CSS concepts; also less confusing for Delphi users with theirTCanvas
, if any still exist). - Renamed
Render
method toRenderOverride
(consistency and enforcing bypass ifVisibility
isCollapsed
). - Changed
ValuesInitializer
collection initializer to be extensible through extension methods in separate assemblies.
- Renamed
- Added
EditorBrowsableState.Advanced
to converters, Value-related classes and classes with extension methods.
Fixes
- Fixed various rare rendering issues (see #19):
- Negative margins.
- Clipping non-left-aligned elements with
MaxWidth
/MaxHeight
. - Uncontrollable growth of document if
Document.VerticalAlign
is changed toStretch
.