Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@Athari Athari released this 15 Mar 05:23

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 } } and new Element { Values = { White.On(Black) } }.
    • GridLength extension methods for integers: 1.Star() and 2.Char().
    • ConsoleTest project now includes new sample usage of all fluent syntax.

Changes

  • API changes:
    • Renamed Canvas element to Absolute (closer resembles CSS concepts; also less confusing for Delphi users with their TCanvas, if any still exist).
    • Renamed Render method to RenderOverride (consistency and enforcing bypass if Visibility is Collapsed).
    • Changed ValuesInitializer collection initializer to be extensible through extension methods in separate assemblies.
  • 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 to Stretch.