MarkLight 2.4.1 Released

Jul 1, 2016
Version highlights:

  1. Virtualized Lists - Lists items can be can be virtualized through the UseVirtualization field. When enabled only the items visible in the scrollable viewport of the list will be active in the list hierarchy. This improves performance significantly when having large lists of complicated items and when only a few are shown at a time.

  2. Multiple List Templates - A list can now have multiple list templates for different types of items. To use this feature you create multiple templates in your list and give them different IDs. In your item view model you add a method called GetTemplateId() which returns the ID (string) of the template that should be used (based on internal parameters). The new PlayingCardsExample and GameMenuExample scenes demonstrates thhis feature.

  3. Performance Improvements - Improved load and initialization performance. The views should take up less memory.

Change Log

  • Game menu example added
  • Fixed various bugs with list pooling and virtualization
  • Ints and floats can now be converted and bound to ElementSize fields
  • Binding to generic view fields allowed by using the GenericViewField attribute
  • Fixed the error 'Field X defined on type Y is not a field on the target object' by using GenericViewField
  • List can use virtualization (only present items visible in viewport) through the UseVirtualization bool
  • Fixed UWP 8.1 compatibility issues
  • Multiple list templates supported
  • Optimized performance when loading and initializing views
  • Added PlayingCards example that demonstrates a scrollable wrapped list using multiple templates
  • Added bool AlternateItems to List and AlternateRows to DataGrid for enabling alternating row styles (alternating between "Default" and "Alternate" state)
  • Fixed issue with exceptions thrown when bindings referencing destroyed objects (e.g. bindings to removed list items)
  • Fixed so content in a ScrollRect can be aligned through ContentAlignment field (e.g. to the top) even if its smaller than the scroll rect size
  • Scrollable list content alignment can be aligned through ScrollableContentAlignment field
  • Fixed bug where UpdateRectTransform was ignored by lists and groups
  • Fixed bug where changes in IsActive didn't notify parents of layout update
  • Added event "ValueSet" on dependency view fields that is triggered whenever the value is set
  • Fixed bug where TabPanel doesn't update selected item when tab is selected
  • Fixed bug where UnitSize z-axis (uz) was ignored
  • Fixed bug where UnitSize and BaseDirectory wasn't updated immediately when changed on the view presenter
  • Added IsScrollable field to DataGrid

Join the Announcement List

Be notified when new themes, views, tutorials and updates are available