[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Collapse]eXpressApp Framework
 [Expand]Fundamentals
 [Expand]Getting Started
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Deployment
 [Expand]Task-Based Help
  Frequently Asked Questions (FAQ)
 [Collapse]API Reference
  [Expand]DevExpress.EasyTest.Framework
  [Collapse]DevExpress.ExpressApp
   [Expand]BaseObjectSpace Class
    CheckCompatibilityType Enumeration
   [Expand]CollectionSource Class
   [Expand]CollectionSourceBase Class
    CollectionSourceDataAccessMode Enumeration
    CollectionSourceMode Enumeration
   [Expand]CollectionSourceModeAttribute Class
   [Expand]CompositeView Class
    ConfirmationResult Enumeration
    ConfirmationType Enumeration
   [Expand]Controller Class
   [Expand]CreateCustomCollectionSourceEventArgs Class
   [Expand]CreateCustomCurrentObjectDetailViewEventArgs Class
   [Expand]CreateCustomLogonParameterStoreEventArgs Class
   [Expand]CreateCustomLogonWindowControllersEventArgs Class
   [Expand]CreateCustomLogonWindowObjectSpaceEventArgs Class
   [Expand]CreateCustomModelCacheManagerEventArgs Class
   [Expand]CreateCustomModelDifferenceStoreEventArgs Class
   [Expand]CreateCustomObjectSpaceProviderEventArgs Class
   [Expand]CreateCustomPropertyCollectionSourceEventArgs Class
   [Expand]CreateCustomTemplateEventArgs Class
   [Expand]CustomCheckCompatibilityEventArgs Class
   [Expand]CustomHasPermissionToEventArgs Class
   [Expand]CustomizeFormattingCultureEventArgs Class
   [Expand]CustomizeLanguageEventArgs Class
   [Expand]CustomizeTemplateEventArgs Class
   [Expand]CustomizeViewShortcutArgs Class
   [Expand]CustomProcessShortcutEventArgs Class
   [Expand]DashboardView Class
   [Expand]DashboardViewCreatedEventArgs Class
   [Expand]DashboardViewCreatingEventArgs Class
    DatabaseUpdateMode Enumeration
   [Expand]DatabaseVersionMismatchEventArgs Class
   [Expand]DefaultListViewOptionsAttribute Class
   [Expand]DetailView Class
   [Expand]DetailViewCreatedEventArgs Class
   [Expand]DetailViewCreatingEventArgs Class
   [Expand]Frame Class
    FrameContext Enumeration
   [Expand]IModelDifference Interface
   [Expand]IModelDifferenceAspect Interface
   [Expand]IModelExtender Interface
    InformationPosition Enumeration
    InformationType Enumeration
   [Expand]IObjectSpace Interface
   [Expand]IObjectSpaceLink Interface
   [Expand]IObjectSpaceProvider Interface
   [Expand]ISettingsProvider Interface
   [Expand]ISupportNewItemRowPosition Interface
   [Expand]ISupportUpdate Interface
   [Expand]IXafEntityObject Interface
   [Expand]LastLogonParametersReadEventArgs Class
   [Expand]LastLogonParametersReadingEventArgs Class
   [Expand]LastLogonParametersWritingEventArgs Class
   [Expand]ListView Class
   [Expand]ListViewCreatedEventArgs Class
   [Expand]ListViewCreatingEventArgs Class
   [Expand]LoggingOffEventArgs Class
   [Expand]LogonEventArgs Class
   [Expand]LogonFailedEventArgs Class
    LookupEditCollectionSourceMode Enumeration
   [Expand]LookupEditPropertyCollectionSource Class
    MasterDetailMode Enumeration
   [Expand]MessageOptions Class
   [Expand]ModelCacheManager Class
   [Expand]ModelDifferenceStore Class
   [Expand]ModelStoreBase Class
   [Expand]ModuleBase Class
   [Expand]NestedFrame Class
    Nesting Enumeration
    NewItemRowPosition Enumeration
    NewWindowTarget Enumeration
   [Expand]NonPersistentObjectSpace Class
   [Expand]ObjectChangedEventArgs Class
   [Expand]ObjectManipulatingEventArgs Class
   [Expand]ObjectsCountGettingEventArgs Class
   [Expand]ObjectsManipulatingEventArgs Class
   [Expand]ObjectSpaceCreatedEventArgs Class
   [Expand]ObjectView Class
   [Expand]ObjectViewController Class
   [Expand]ObjectViewController<ViewType, ObjectType> Class
   [Expand]ProcessActionContainerEventArgs Class
   [Expand]PropertyCollectionSource Class
    SchemaUpdateMode Enumeration
   [Expand]SecuritySystem Class
    SelectionType Enumeration
   [Expand]ShowViewParameters Class
   [Expand]ShowViewSource Class
   [Expand]ShowViewStrategyBase Class
    TargetWindow Enumeration
   [Expand]TemplateContext Structure
    UIType Enumeration
   [Expand]ValidateObjectEventArgs Class
   [Expand]View Class
   [Collapse]ViewController Class
     ViewController Members
     ViewController Constructor
    [Expand]ViewController Properties
    [Expand]ViewController Events
    [Expand]ViewController Methods
   [Expand]ViewController<ViewType> Class
   [Expand]ViewCreatedEventArgs Class
   [Expand]ViewCreatingEventArgs Class
   [Expand]ViewItemsChangedEventArgs Class
    ViewItemsChangedType Enumeration
   [Expand]ViewShortcut Class
   [Expand]ViewShowingEventArgs Class
   [Expand]ViewShownEventArgs Class
    ViewType Enumeration
   [Expand]WebMessageOptions Class
   [Expand]Window Class
   [Expand]WindowController Class
    WindowType Enumeration
   [Expand]WinMessageOptions Class
    WinMessageType Enumeration
   [Expand]XafApplication Class
   [Expand]XafDataView Class
   [Expand]XafDataViewRecord Class
   [Expand]XafInstantFeedbackRecord Class
  [Expand]DevExpress.ExpressApp.Actions
  [Expand]DevExpress.ExpressApp.AuditTrail
  [Expand]DevExpress.ExpressApp.Chart
  [Expand]DevExpress.ExpressApp.Chart.Web
  [Expand]DevExpress.ExpressApp.Chart.Win
  [Expand]DevExpress.ExpressApp.CloneObject
  [Expand]DevExpress.ExpressApp.ConditionalAppearance
  [Expand]DevExpress.ExpressApp.Dashboards
  [Expand]DevExpress.ExpressApp.Dashboards.Web
  [Expand]DevExpress.ExpressApp.Dashboards.Win
  [Expand]DevExpress.ExpressApp.Data
  [Expand]DevExpress.ExpressApp.DC
  [Expand]DevExpress.ExpressApp.DC.ClassGeneration
  [Expand]DevExpress.ExpressApp.Editors
  [Expand]DevExpress.ExpressApp.EF
  [Expand]DevExpress.ExpressApp.EF.Utils
  [Expand]DevExpress.ExpressApp.FileAttachments.Web
  [Expand]DevExpress.ExpressApp.FileAttachments.Win
  [Expand]DevExpress.ExpressApp.Filtering
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Web
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Win
  [Expand]DevExpress.ExpressApp.Kpi
  [Expand]DevExpress.ExpressApp.Layout
  [Expand]DevExpress.ExpressApp.Maps.Mobile
  [Expand]DevExpress.ExpressApp.Maps.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Maps.Web
  [Expand]DevExpress.ExpressApp.Maps.Web.Helpers
  [Expand]DevExpress.ExpressApp.MiddleTier
  [Expand]DevExpress.ExpressApp.Mobile
  [Expand]DevExpress.ExpressApp.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Mobile.MobileModel
  [Expand]DevExpress.ExpressApp.Mobile.SystemModule
  [Expand]DevExpress.ExpressApp.Mobile.Templates
  [Expand]DevExpress.ExpressApp.Model
  [Expand]DevExpress.ExpressApp.Model.Core
  [Expand]DevExpress.ExpressApp.Model.NodeGenerators
  [Expand]DevExpress.ExpressApp.ModelEditor
  [Expand]DevExpress.ExpressApp.Notifications
  [Expand]DevExpress.ExpressApp.Notifications.Web
  [Expand]DevExpress.ExpressApp.Notifications.Win
  [Expand]DevExpress.ExpressApp.PivotChart
  [Expand]DevExpress.ExpressApp.PivotChart.Web
  [Expand]DevExpress.ExpressApp.PivotChart.Win
  [Expand]DevExpress.ExpressApp.PivotGrid
  [Expand]DevExpress.ExpressApp.PivotGrid.Web
  [Expand]DevExpress.ExpressApp.PivotGrid.Win
  [Expand]DevExpress.ExpressApp.Reports
  [Expand]DevExpress.ExpressApp.Reports.Web
  [Expand]DevExpress.ExpressApp.Reports.Win
  [Expand]DevExpress.ExpressApp.ReportsV2
  [Expand]DevExpress.ExpressApp.ReportsV2.Web
  [Expand]DevExpress.ExpressApp.ReportsV2.Win
  [Expand]DevExpress.ExpressApp.Scheduler
  [Expand]DevExpress.ExpressApp.Scheduler.Web
  [Expand]DevExpress.ExpressApp.Scheduler.Win
  [Expand]DevExpress.ExpressApp.ScriptRecorder
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Web
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Win
  [Expand]DevExpress.ExpressApp.Security
  [Expand]DevExpress.ExpressApp.Security.Adapters
  [Expand]DevExpress.ExpressApp.Security.ClientServer.Wcf
  [Expand]DevExpress.ExpressApp.Security.EF.Adapters
  [Expand]DevExpress.ExpressApp.Security.Strategy
  [Expand]DevExpress.ExpressApp.Security.Xpo.Adapters
  [Expand]DevExpress.ExpressApp.StateMachine
  [Expand]DevExpress.ExpressApp.SystemModule
  [Expand]DevExpress.ExpressApp.Templates
  [Expand]DevExpress.ExpressApp.Templates.ActionContainers
  [Expand]DevExpress.ExpressApp.TreeListEditors
  [Expand]DevExpress.ExpressApp.TreeListEditors.Web
  [Expand]DevExpress.ExpressApp.TreeListEditors.Win
  [Expand]DevExpress.ExpressApp.Updating
  [Expand]DevExpress.ExpressApp.Utils
  [Expand]DevExpress.ExpressApp.Validation
  [Expand]DevExpress.ExpressApp.Validation.Web
  [Expand]DevExpress.ExpressApp.Validation.Win
  [Expand]DevExpress.ExpressApp.ViewVariantsModule
  [Expand]DevExpress.ExpressApp.Web
  [Expand]DevExpress.ExpressApp.Web.Controls
  [Expand]DevExpress.ExpressApp.Web.Editors
  [Expand]DevExpress.ExpressApp.Web.Editors.ASPx
  [Expand]DevExpress.ExpressApp.Web.SystemModule
  [Expand]DevExpress.ExpressApp.Web.Templates
  [Expand]DevExpress.ExpressApp.Web.Utils
  [Expand]DevExpress.ExpressApp.Win
  [Expand]DevExpress.ExpressApp.Win.Core
  [Expand]DevExpress.ExpressApp.Win.Editors
  [Expand]DevExpress.ExpressApp.Win.Model
  [Expand]DevExpress.ExpressApp.Win.SystemModule
  [Expand]DevExpress.ExpressApp.Win.Templates
  [Expand]DevExpress.ExpressApp.Win.Templates.Navigation
  [Expand]DevExpress.ExpressApp.Workflow
  [Expand]DevExpress.ExpressApp.Workflow.Win
  [Expand]DevExpress.ExpressApp.Xpo
  [Expand]DevExpress.ExpressApp.Xpo.Utils
  [Expand]DevExpress.Persistent.Base
  [Expand]DevExpress.Persistent.Base.General
  [Expand]DevExpress.Persistent.Base.ReportsV2
  [Expand]DevExpress.Persistent.Base.Security
  [Expand]DevExpress.Persistent.BaseImpl
  [Expand]DevExpress.Persistent.BaseImpl.EF
  [Expand]DevExpress.Persistent.BaseImpl.EF.PermissionPolicy
  [Expand]DevExpress.Persistent.BaseImpl.PermissionPolicy
  [Expand]DevExpress.Persistent.Validation
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
This documentation page describes implementations made in our v17.2 release cycle. To learn about functionality shipping with v18.1, navigate to our updated help file experience at docs.devexpress.com. Learn More

ViewController Class

Namespace:DevExpress.ExpressApp
Assembly:DevExpress.ExpressApp.v18.1.dll

Expanded Syntax

Expanded Remarks

A ViewController class is a descendant of the Controller class. Use it as an ancestor for a custom Controller which is intended to function with a View. View Controllers are registered within both a Window and Frame. You can access the parent Frame using the Controller.Frame property, and its View using the View property. The Object Space used by the current View can be accessed via the protected ObjectSpace property. To implement custom code to be performed at runtime, use the Controller's mechanisms for activation and deactivation, i.e., handle the Controller.Activated and Controller.Deactivated events.

You can specify the Views for which a View Controller will be activated. For this purpose, use the TargetObjectType, TargetViewId, TargetViewNesting and TargetViewType properties (see How do I specify in which View (form) a Controller should be activated). You can also prohibit Controller activation for a particular View by overriding the ViewController.OnViewChanging method.

If you need to implement features with Windows (e.g., customize a Window's Template or View), use the WindowController class instead of ViewController.

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          Controller
             ViewController
                AppearanceController
                CloneObjectViewController
                DeleteObjectsViewController
                DevExpress.ExpressApp.ReportsV2.EditReportControllerCore
                ExportAnalysisController
                ExportController
                FileAttachmentController
                FileAttachmentController
                DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentControllerBase
                FileAttachmentListViewController
                FilterController
                HasRightsToModifyMemberController
                LinkUnlinkController
                ListViewProcessCurrentObjectController
                MobileModificationsController
                ModificationsController
                NewObjectViewController
                ObjectViewController
                ObjectViewController<ViewType, ObjectType>
                PersistenceValidationController
                PrintingController
                PrintSelectionBaseController
                ProcessActionContainerHolderController
                RecordsNavigationController
                RefreshController
                DevExpress.ExpressApp.ReportsV2.ReportDataViewController
                ReportsControllerCore
                ViewController<ViewType>
                WebDashboardActionsController
                WebDashboardSeparateTabController
                WebDeleteObjectsViewController
                WebEditReportController
                WebExportController
                WebModificationsController
                WebNewObjectViewController
                WebReportsController
                WebReportSeparateTabController
                WinExportController
                WinGridReportExportController
                WinModificationsController
                WinNewObjectViewController
                WinReportsController

Expanded See Also

Is this topic helpful?​​​​​​​