Skip to end of metadata
Go to start of metadata

Crosslight comes with great tooling support that integrates directly with Visual Studio to help developers build apps faster. Since the Crosslight 2.3 release, in addition to Crosslight Project Wizard, Crosslight has included more than 50 item templates supporting four different project types: Android, iOS, Windows Phone and Shared (Portable) project. This page contains the list of Crosslight item templates that is integrated with every installation of Mobile Studio and clear instructions on how to use the item templates.

On this page:

Adding New Crosslight Items in Visual Studio

The Crosslight item templates are available through the New Item menu in Visual Studio 2012 and upwards. To add an item, simply right click on a project, then select Add, then choose New Item.

Adding New Crosslight Items in Xamarin Studio on Mac

Similarly, to add an item using Xamarin Studio on Mac, simply right click on a project, and select Add, New File. This will bring up the dialog where you can choose Crosslight Item Templates. The item templates are available for Portable, iOS, and Android project types.

The item templates for Xamarin for Mac are available starting from Crosslight 3. Make sure you have installed Crosslight 3 or later to enjoy this feature. For more information, see Crosslight 3.0 Release Notes.

Crosslight Item Template List

Project TypeTemplateDescription

Android

Activity

A basic, generic Activity class that is commonly used for basic displaying purposes.

Used in project templates: Blank Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples,  Simple Tip Calculator.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Drawer Activity

An Activity that acts as a parent container used in drawer navigation.

Used in project templates: Navigation Drawer TemplateBusiness Template, Localizable Business Template.

Relevant samples: Data Navigation Drawer Samples, Navigation Drawer Samples.

To learn more about drawer navigation, see Drawer Navigation.

Form Activity

An Activity that is used to create forms using Crosslight form builder.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about Crosslight form builder, see Building Rich Data Entry Form.

Fragment Activity

An Activity that is used as a host for Fragments.

Used in project templates: Multi-Page Template, Navigation Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Advanced Master Detail Sample.

To learn more about Fragment Activity, see Android Developers documentation.

List Activity

An Activity that features a bulit-in ListView, useful for data displaying purposes and navigation.

Used in project templates: Navigation Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples.

To learn more about List Activity, see Displaying Simple List.

Editable List Activity

An Activity that features a built-in ListView with editing interactions.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about Editable List Activity, see Displaying Simple List.

Searchable List Activity

An Activity that features a built-in ListView with a SearchView for searching operations.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Data Samples.

To learn more about Searchable List Activity, see Implement Searchable List.

Tab Activity

An Activity that features built-in tabs used in multi-page navigation.

Used in project templates: Multi-Page Template.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation,  Implementing Multi-Page Navigation.

View Pager Activity

An Activity that features built-in ViewPager used in multi-page navigation with swipe gesture support.

Used in project templates: Multi-Page Template.

Change the TabActivity to ViewPagerActivity to see it in effect.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation,  Implementing Multi-Page Navigation.

Fragment

A Fragment that acts as a container for controls and must be hosted within a FragmentActivity and its derivatives.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

List Fragment

A Fragment that features a built-in ListView and must be hosted within a FragmentActivity and its derivatives.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about displaying data, see Displaying Data.

Editable List Fragment

A Fragment that features a built-in ListView with editing interactions, and must be hosted within a FragmentActivity and its derivatives.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about displaying data, see  Displaying Data .

Master Detail Fragment

A Fragment that can be used to host multiple Fragments used in Master-Detail Navigation.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about Master-Detail Navigation, see Master-Detail Navigation.

Searchable List Fragment

A Fragment that features a built-in ListView with a SearchView for searching operations.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Data Samples.

To learn more about Searchable List Fragment, see Implement Searchable List.

Tab Fragment

A Fragment that features built-in tabs used in multi-page navigation.

Used in project templates: Multi-Page Template.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation,  Implementing Multi-Page Navigation .

View Pager Fragment

A Fragment that features built-in ViewPager used in multi-page navigation with swipe gesture support.

Used in project templates: Multi-Page Template.

Create a FragmentActivity for the container first, then use the same view model (MultiPageViewModel) for the ViewPagerFragment.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation,  Implementing Multi-Page Navigation .

Shared (Core)

Binding Provider

A class that contains data binding definitions from a property in ViewModel/Model to a particular view element. A binding provider class is highly reusable and can be easily imported to the view context through ImportBindingAttribute class.

Used in project templates: Blank Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples, Simple Tip Calculator.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

List Binding Provider

A binding provider class specialized for list binding which includes ItemBindingDescription for displaying a list of data.

Used in project templates: Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Editable List Binding Provider

A binding provider specialized for list binding which includes ItemBindingDescription  for displaying data with editing operations.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see  Understanding Data Binding and MVVM Design Pattern.

Data Detail View Model

A ViewModel typically used in showing detail of item, in master-detail navigation.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about Master-Detail Navigation, see Master-Detail Navigation. Also check out  Data View Models Pattern for more information on supported data operations using the ViewModel pattern.

Data Editor View Model

A ViewModel that represents a form defined with form metadata and provides rich editing behaviors such as data validation, save and cancel command. In addition, it also supports built-in repository for seamless server data communication.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: WebAPI-enabled Inventory Tracker.

To learn more about Crosslight form builder, see Building Rich Data Entry Form. Also check out  Data View Models Pattern for more information on supported data operations using the ViewModel pattern.

Data Group Detail View Model

A ViewModel used for grouping of data in server-side operation.

Relevant samples: WebAPI-enabled Inventory Tracker.

To learn more about server-side data operation, see Server Data Access. Also check out Data View Models Pattern for more information on supported data operations using the ViewModel pattern.

Data List View Model

A ViewModel that provides rich server data access functionality with built-in repository support.

Relevant samples: WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about server-side data operation, see  Server Data Access. Also check out  Data View Models Pattern for more information on supported data operations using the ViewModel pattern.

Query Definition

A class that contains definitions for QueryDescriptor, typically used in conjunction with DataListViewModel for data manipulation such as sorting and filtering.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about data manipulation, see Data View Models Pattern.

Detail View Model

A ViewModel used to display detail of item, typically used in master-detail navigation.

Used in project templates: Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about master-detail pattern, see Master-Detail Navigation. Also check out Understanding Data Binding and MVVM Design Pattern to learn about data binding and MVVM design pattern.

Drawer View Model

A ViewModel that contains definition for view containers used in drawer navigation.

Used in project templates: Navigation Drawer TemplateBusiness Template, Localizable Business Template.

Relevant samples: Data Navigation Drawer Samples, Navigation Drawer Samples.

To learn more about drawer navigation, see Drawer Navigation.

Editable Detail View Model

A ViewModel used to display detail of item, typically used in master-detail navigation, with support for editing operations.

Used in project templates: Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM design pattern, see Understanding Data Binding and MVVM Design Pattern.

Editable List View Model

A ViewModel used to display a list of items, with support for batch editing operations.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about displaying data, see Displaying Data.

Editor View Model

A ViewModel that represents a form defined with form metadata and provides rich editing behaviors such as data validation, save and cancel command.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about Crosslight form builder, see Building Rich Data Entry Form.

Group List View Model

A ViewModel that is used for displaying a list of items in grouped fashion.

Used in project templates: Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Data Samples.

To learn more about displaying data, see Displaying Data.

List View Model

A ViewModel that is used to display list of items.

Used in project templates: Navigation Template, Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Services Samples, Data Samples.

To learn more about displaying data, see Displaying Data.

Multi Page View Model

A ViewModel used in multi-page navigation.

Used in project templates: Multi-Page Template.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation,  Implementing Multi-Page Navigation .

View Model

A basic, generic view model used as base for simple displaying purposes.

Used in project templates: Blank Template, Navigation Template, Multi-Page Template, Business Template. Localizable Business Template.

Relevant samples: MVVM Samples, Services Samples, Data Samples.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

iOS

View Controller for iPhone

A basic, generic ViewController class that is commonly used for basic displaying purposes for iPhone. This template also includes an empty XIB associated to the view controller.

Used in project templates: Blank Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples,  Simple Tip Calculator.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

View for iPhone

A multi-purpose XIB view used for displaying just about anything for iPhone. It also includes a custom view class and auto-generated designer class which provide programmability to the interface definition specified in the XIB file.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Table Cell for iPhone

An item cell template used to display each item in a table view controller for iPhone.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Collection Cell for iPhone

An item cell template used to display each item in a collection view controller for iPhone.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

View Controller for iPad

A basic, generic ViewController class that is commonly used for basic displaying purposes for iPad.

Used in project templates: Blank Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples,  Simple Tip Calculator.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

View for iPad

A multi-purpose XIB view used for displaying just about anything for iPad.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Table Cell for iPad

An item cell template used to display each item in a table view controller for iPad.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Collection Cell for iPad

An item cell template used to display each item in a collection view controller for iPad.

Used in project templates: Master-Detail Template, Blank Template, Business Template, Localizable Business Template.

Relevant samples: Data Samples, Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Collection View Controller

A collection view controller used to display list of items in the form of collection grid.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker.

To learn more about displaying data, see Displaying Data.

Editable Collection View Controller

A collection view controller that display list of items in the form of collection grid with editing support.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker.

To learn more about displaying data, see Displaying Data.

Detail View Controller

A simple view controller that display item detail used in master-detail navigation.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker.

To learn more about displaying data, see Displaying Data. Also check out Master-Detail Navigation to learn more about the master-detail navigation pattern.

Drawer Navigation View Controller

A view controller that provides drawer navigation functionality, includes left and right navigation drawer.

Used in project templates: Navigation Drawer Template, Business Template, Localizable Business Template.

Relevant samples: Navigation Drawer Samples, Data Navigation Drawer Samples, Synchronization Sample, Advanced Master Detail Sample.

To learn more about drawer navigation, see Drawer Navigation.

Form View Controller

A view controller that automatically generate input forms based on the form builder's metadata.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about Crosslight form builder, see Building Rich Data Entry Form.

Master Detail View Controller

A view controller that acts as a container in master-detail navigation.

Used in project templates: Master-Detail Navigation.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about master-detail navigation, see Master-Detail Navigation.

Dynamic Master Detail View Controller

A view controller that provides nested master detail functionality

Relevant samples:  Inventory Tracker,  WebAPI-enabled Inventory Tracker,  Advanced Master Detail Sample.

To learn more about master-detail navigation, see  Master-Detail Navigation.

Nested Master Detail View Controller

A view controller that provides advanced master detail functionality such as nested navigation support, and integration support with drawer navigation. This view controller constraints the detail view to a single item detail type specified in the class definition.

Relevant samples:  Inventory Tracker,  WebAPI-enabled Inventory Tracker,  Advanced Master Detail Sample.

To learn more about master-detail navigation, see  Master-Detail Navigation.

Dynamic Nested Master Detail View Controller

A view controller that provides advanced master detail functionality. Unlike nested master detail view controller, this view controller supports dynamic item detail type which is specified in the navigation item. This view controller is best used for content navigation such as settings screen.

Relevant samples:  Inventory Tracker,  WebAPI-enabled Inventory Tracker, Advanced Master Detail Sample.

To learn more about master-detail navigation, see  Master-Detail Navigation.

Selection Detail View Controller

A view controller that represents the selection detail view in master-detail navigation.

Used in project templates: Master-Detail Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Advanced Master Detail Sample.

To learn more about master-detail navigation, see Master-Detail Navigation.

Tab Bar Controller

A view controller that features built-in tabs used in multi-page navigation.

Used in project templates: Multi-Page Template.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation, Implementing Multi-Page Navigation.

Table View Controller

A view controller with built-in TableView used for displaying data or content navigation.

Used in project templates: Navigation Template, Master-Detail Template, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, MVVM Samples, Data Samples, Services Samples, Reporting Samples.

To learn more about displaying data, see Displaying Data. Also check out Understanding Crosslight Navigation Patterns to learn more about supported navigation patterns available in Crosslight.

Editable Table View Controller

A view controller with built-in TableView used for displaying data, with support for batch editing operations.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about displaying data, see Displaying Data.

Searchable Table View Controller

A view controller with built-in TableView used for displaying data, with bulit-in search view for searching operation.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Data Samples.

To learn more about impleneting search in table view controllers, see Implement Searchable List.

WinPhone

Phone Application Page

A basic, generic Page class that is commonly used for basic displaying purposes.

Used in project templates: Blank Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples,  Simple Tip Calculator.

To learn more about data binding and MVVM, see Understanding Data Binding and MVVM Design Pattern.

Drawer Page

A Page that acts as a parent container used in drawer navigation.

Used in project templates: Navigation Drawer TemplateBusiness Template, Localizable Business Template.

Relevant samples: Data Navigation Drawer Samples, Navigation Drawer Samples.

To learn more about drawer navigation, see Drawer Navigation.

List Page

A Page that features a bulit-in ListView, useful for data displaying purposes and navigation.

Used in project templates: Navigation Template.

Relevant samples: MVVM Samples, Data Samples, Services Samples.

To learn more about List Activity, see Displaying Simple List.

Detail Page

A Page that is used to display detail of an item, typically used in master-detail navigation.

Used in project templates: Master-Detail Navigation, Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker.

To learn more about data binding and MVVM pattern, see Understanding Data Binding and MVVM Design Pattern.

Form Page

A Page that is used to create forms using Crosslight form builder.

Used in project templates: Business Template, Localizable Business Template.

Relevant samples: Inventory Tracker, WebAPI-enabled Inventory Tracker, Synchronization Sample.

To learn more about Crosslight form builder, see Building Rich Data Entry Form.

Pivot Page

A Page with built-in pivot control used in multi-page navigation.

Used in project templates: Multi-Page Template.

Relevant samples: MVVM Samples.

To learn more about multi-page navigation, see Multi-Page Navigation, Implementing Multi-Page Navigation.