C# (CSharp) ViewModels Namespace

Classes

Name Description
AFITop100Model
AFITop100VM This class demonstrates the application of dynamic LINQ to perform incremental search on a list, and pagination tehcnique on the results.
AutoBindingVM This view model demonstrates using the Binder plugin to automate the binding declarations on the HTML elements. To bind a view model property to an HTML element, set the ID tag to the property name. The plugin will select the binding notation based on the type of the element. For property name that contains underscore, it will apply attribute binding to that property, with the attribute name set to the string following the underscore.
AutoBindingVM.DropDownItem
BetterListVM This view model demonstrates simple CRUD operation on a list. In this example, we optimize the bandwidth usage by writing a little bit of javascript (see SimpleList.js) to avoid refreshing the entire list every time an item is edited or removed like what the SimpleListVM example is doing.
BetterListVM.EmployeeInfo The class that holds employee info to send to the browser. It inherits from Observable because the names properties can be edited on the browser, and we would like to be notified of the change when that happens.
BookViewModel
BooksViewModel
CompositeViewVM This examples demonstrates how to compose a view from multiple sub-views that can communicate with each other. The CompositeViewVM is the master view model composed of two subordinate view models, GridViewVM and TreeViewVM. The master view model doesn't have any view, its only purpose is to manage its sub view models, which includes instantiation and enabling the communication through Observer pattern.
CompositeViewVM.LinkedGridViewVM A subclass of GridViewVM that hides the SelectedDetails property from the view.
CompositeViewVM.LinkedTreeViewVM A subclass of TreeViewVM that uses a different binding to expand, and provide a new method to expand and select a particular tree item.
DashboardPanelVM This example demonstrates how to build a web dashboard dynamically out of modular components or widgets. This panel view model dynamically identifies all the widget view model types from the current assembly and present them in a dropdown list. When a selection is made, the dashboard view will load the widget's view and view model asynchronously into the DOM. The widgets can interact with each other; see how it's done in the master view model DashboardVM.
DashboardPanelVM.WidgetInfo This class holds information on a widget; its unique ID and HTML view name.
DashboardPanelVM.WidgetType This class holds information on a type of widget that can be added to the dashboard.
EmployeeModel
EmployeeRecord
GridViewVM This view model demonstrates how to leverage the two-way data binding on both the server-side view model and the code-behind on the browser to build rich web applications with less efforts and less code complexity.
GridViewVM.EmployeeInfo The class that holds employee info to send to the client. It inherits from Observable because the client can edit the names properties and we would like to be notified of the changes if that happens.
GridViewVM.HeaderInfo This class holds the list header info.
JobQueueVM This example demonstrates how the client can execute a job on the server, show a progress bar and receives the results back asynchronously.
MovieRecord
OrganizationViewModel
SimpleListVM This view model demonstrates simple CRUD operation on a list. This example is not bandwidth-optimized to show that we can implement this without writing any javascript at all. See BetterListVM for the example where we optimize the bandwidth usage by writing a little bit of javascript.
SimpleListVM.EmployeeInfo The class that holds employee info to send to the client. It inherits from Observable because the client can edit the names properties and we would like to be notified of the changes if that happens.
TreeViewVM This view model demonstrates how to do lazy-loading on a deep tree without storing anything in the view model.
TreeViewVM.TreeItem The class that holds a tree item data.
XamlPanelViewModel