Skip to end of metadata
Go to start of metadata

This update is a maintenance release which includes many new features and significant enhancements to the enterprise application framework and Crosslight core components. It also improves the overall stability for Android's tab fragment and activity components. 

Upgrading to Crosslight 2 Update 2 is free to all customers with active subscriptions.


Quality Band [?]STABLE
Build Number2.0.5000.61
Last Build DateJune 30, 2014

Release Highlight

The following sections highlight the noteworthy enhancements and new features included in this update.

Batch update support for sorted collection

The initial release of Crosslight has include support for batch update which allows you to perform multiple changes to a collection and have the view processes the changes simultaneously instead of individually. However, the initial batch update operation supports only raw/unsorted collection. In this update, the batch update feature has been further improved to support sorted collection. This allows you to dynamically add multiple items to a sorted list and process the changes simultaneously in a smooth, beautiful animation – similar to the Apple's built-in Mail app. 

For more information, read our blog post here.

Async methods for Crosslight core services

Crosslight ships with dozens of cross-platform services that allow you easily consume them in your shared project such as in ViewModel. These services were initially designed with callback API to avoid dependencies to the additional async .NET library. In this release, the async methods are now added to the Enterprise App Framework in the form of extensions. You can now intuitively write code with async keyword.

The following code example shows how to perform modal navigation and processes the results, and compare the original callback and the new async API.



Now with async:

Android DateTimePicker in FormBuilder

Android now includes a revamped DateTimePicker for Android form builder, this includes view suited for either portrait or landscape orientation.


To use the date time picker in the form builder, you can use the EditorAttribute Class and specify the editor type to DateTime as seen in the following code.

Content navigation support in iOS master detail component

Crosslight 2 ships with an advanced master detail component that lets you easily shows a list of items in the left panel and the details in the right panel.

Due to popular demand and feedback, the iOS master detail component has been further improved to support content navigation which enables you to display different detail content according to the navigation item. This feature allows you to easily build iPad-like settings interface, or virtually any content you wish to show in the detail.

To test out this feature, download the updated sample collection from our Git server here. The sample for this particular feature can be found in the MyInventory_MasterDetail folder.

Improvements to Enterprise App Framework

Enterprise App Framework is introduced in Crosslight 2 to provide a set of design best practices and guidelines in building cross-platform enterprise apps. In this release, the framework has received significant improvements to cover even wider range of scenarios. It adds support for:

  • Retrieving data through named query – CROS-341
  • Refactored account API to support single-sign-on scenario with app-wide scope – CROS-342  
  • In addition, changes to the related entities can now be easily tracked during editing, see  CROS-357

More improvements can be seen in the update list below.

About Crosslight 2

This update is building on Crosslight 2 release which includes 200+ new features that make enterprise cross-platform apps development a breeze. Take a look at all the new features in the Crosslight 2.0 Release Notes  and see what you are missing out on!

Download Crosslight 2 today.

Updates and fixes in this release

This release includes the following updates and bug fixes:

T Key Summary P Status Component/s
Bug CROS-391 Custom data in navigation parameter is not passed to Navigated method when navigated using NavigationItem. Major Resolved iOS
Bug CROS-387 Navigate page from split page not full screen when page isrootview Major Resolved
Bug CROS-386 Combo Box builder parameter null Major Resolved
Bug CROS-385 Activity presenter unhandled exception win32 Major Resolved
New Feature CROS-384 Implement Context Menu Major Closed
New Feature CROS-379 Create MaxAttribute (Validation) Major Closed
New Feature CROS-378 Create MinAttribute (Validation) Major Closed
New Feature CROS-376 Implement Load PrerequisiteData in DataListViewModel Major Closed
Bug CROS-370 ComboBox doesn't work with async load data process. Major Resolved Windows Phone
Bug CROS-369 Contextual action bar is not closed after deleting multiple items Major Resolved
Bug CROS-368 Failed replacing existing entity in EntityContainer with one-to-one relationship Major Resolved
Bug CROS-366 Performing modal navigation on UINestedMasterDetailViewController inadvertently call the Dispose method of the active view controllers. Major Resolved iOS
Bug CROS-365 The Navigated method of ViewModel is called twice when presented in UINestedMasterDetailViewController. Major Resolved iOS
Bug CROS-364 Support DateAndTimePicker editor in Form Builder Major Resolved Windows Phone
Bug CROS-363 Support TimePicker editor in Form Builder Major Resolved Windows Phone
Bug CROS-362 Modal window is not presented in full screen when using split page. Major Resolved Windows 8
Bug CROS-361 DateTimePicker is rendered incorrectly, unable to set value Critical Resolved Android
Improvement CROS-358 Full data refresh no longer show activity presenter since the pull-to-refresh view already includes a built-in loading indicator. Major Closed Android, Frameworks, iOS, Windows Phone
Improvement CROS-357 Added TrackRelatedEntityChanges property in DataEditorViewModelBase. When enabled, all navigation properties in the entity will be automatically tracked during editing. Major Closed Frameworks
Improvement CROS-356 Form Builder now takes account NavigationTargetKind defined in NavigateAction attribute. Major Closed iOS
New Feature CROS-355 UINestedMasterDetailViewController now support deep navigation in detail content. Major Closed iOS
Bug CROS-353 Pull To Refresh triggering load on demand Major Resolved Android
New Feature CROS-350 Validation support for "buddy" metadata in entity model. Major Closed Core, Data
Bug CROS-347 Exception occurred when performing navigation after a pull refresh operation. Major Resolved iOS
Bug CROS-346 ComboBox control builder doesn't take account the navigation parameter when navigated. Major Resolved Windows Phone
New Feature CROS-345 Added UINestedMasterDetailViewController generic variant to support custom content navigation. Major Closed iOS
Improvement CROS-344 Loading indicator in DataListViewModelBase is now displayed within the view by default. Major Closed Frameworks
New Feature CROS-343 Added async methods for IMessagePresenter, INavigationService, and IMobileComponentService. Major Closed Core
Improvement CROS-342 Refactored account and user service to support single sign-on authentication scoped to a particular application. Major Closed Frameworks
Improvement CROS-341 Added ServiceDescriptor to DataListViewModelBase for named query support. Major Closed Frameworks
New Feature CROS-340 Activity presenter can now be shown within the view content, in addition to floating popup. Major Closed Core, iOS
Bug CROS-339 UITableViewController displayed at incorrect offset when used together with Navigation Drawer and Allow Searching is enabled. Major Resolved iOS
Bug CROS-338 UITableViewController randomly calls Dispose method twice when searching is enabled. Major Resolved iOS
New Feature CROS-337 Support CommandBindingAttribute for text editor in form builder. Major Closed iOS
New Feature CROS-336 Support batch updates with smooth animation in sorted collection. Major Closed iOS
Bug CROS-335 The status bar appearance in UINavigationDrawer doesn't honor the translucent settings during initial load Minor Resolved iOS
Bug CROS-292 Application crashes when tab activity or tab fragment is put on background and resumed Major Resolved Android
Bug CROS-266 ActivityPresenter fails to show due to incorrect lifecycle Major Resolved

For more information about release band quality and how to obtain and apply updates, see Updating Crosslight.