Deliver superior customer experiences with an AI-driven platform for creating and deploying cognitive chatbots
Deliver Awesome UI with the most complete toolboxes for .NET, Web and Mobile development
Automate UI, load and performance testing for web, desktop and mobile
A complete cloud platform for an app or your entire digital business
Detect and predict anomalies by automating machine learning to achieve higher asset uptime and maximized yield
Automate decision processes with a no-code business rules engine
Optimize data integration with high-performance connectivity
Connect to any cloud or on-premises data source using a standard interface
Build engaging multi-channel web and digital experiences with intuitive web content management
Personalize and optimize the customer experience across digital touchpoints
Build, protect and deploy apps across any platform and mobile device
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
The content you're reading is getting on in years
This post is on the older side and its content may be out of date.
Be sure to visit our blogs homepage for our latest news, updates and information.
Yep, I did it again; started a series without an introduction. Romi pointed out to my ill practice, so here I am, writing an introduction in the fourth part of the series.
ContentView designers were introduced in Sitefinity 3.2. Their purpose is to allow end users simple and quick way of editing a control without going to the property grid – in other words – they are the “basic” mode that you see when you edit ContentView based control. You can find built-in ContentView designers on following controls:
ContentView designer is a control.
Take a look at the Figure 1 to see how does the EventsView ContentView designer looks like when you edit the EventsView control.
Figure 1: EventsView designer (both screens)
Well, things are starting to clear up now, aren’t they? ContentViewDesignerBase class is a very flexible class which works very well with the two controls that are the heart of the designers. Now, open the following file to examine those controls: ~/Sitefinity/Admin/ControlTemplates/Events/Design/EventsViewControlDesigner.ascx
Let’s examine the PresentationModes control first:
As you can see the PresentationModes control (in Events designer) has Modes collection and three PresentationMode controls defined inside of this selection. Let’s take a brief look at the ModeTitle properties of these modes:
Sounds familiar? Take a look at the Figure 2:
Figure 2: three presentation modes defined in the template
One of the major features of this approach is that you can now predefine the different modes for your end user and she can load it by simply selecting the mode. Looking through the file system to find the right templates is not necessary anymore.
Remember the ModeSettingID property of the PresentationMode control I’ve described in the previous paragraph? That property associates particular mode with the specific PresentationModeSettings control. Now, I’ve talked quite a lot about this control in the previous posts of this series, so I won’t go into details here. The important thing to note, however, is that for each mode you can have different set of settings.
There are three ideas behind the ContentView designers that you can take advantage of:
I hope that this has cleared the whole “designers situation” a bit more clear. In the next few posts I’ll wrap it up with demonstration of how to create custom setting and how to implement custom designer on the custom ContentView based control… and then we can move on – FilterExpression and ContentFilterBuilder class, perhaps.
View all posts from The Progress Team on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.