Recommended user controls
The MIP SDK offers a number of user controls that will speed up development and help provide a smooth and consistent user experience.
User controls in the MIP SDK
The MIP SDK offers both dedicated special-purpose user controls and a comprehensive set of general-purpose user controls:
- A handful of special-purpose user controls for:
- playing live and recorded media,
- configuration interaction, and
- Smart Client plug-in interaction.
- A library of general-purpose user controls, designed to support the XProtect Design System:
- The XProtect Design System provides a comprehensive set of UX guidelines.
- The XProtect Design Systems user controls are designed to blend in seamlessly in XProtect products.
Special-purpose user controls
The following table provides an overview of the special-purpose user controls. The last column indicates whether the control is useful in both the MIP plug-in environment and the MIP SDK component (standalone) environment, or only in the MIP plug-in environment.
WPF control | WinForms control | Description | Both |
---|---|---|---|
|
|
Playing live and recorded audio from an XProtect server or from an export in XProtect format.
|
X |
|
|
Displays a video stream. Can be controlled by a
|
X |
|
|
A timeline and controls for playback through an |
X |
|
|
Window used for navigating and selecting an |
X |
|
|
Used for navigating and selecting an |
X |
|
|
Property panel in Smart Client Setup mode. - displayed in the sidepanel automatically when entering setup mode in the Smart Client |
|
|
|
Property Side panel in Smart Client. - displayed in the sidepanel, is present depending on the active Workspace, including Live mode, Playback mode. (controlled by SidePanelPlaceDefinition). |
|
|
|
UserControl for a |
All new development should use the WPF controls. The WinForms controls are still available, but will be deprecated.
Each of the seven WPF controls is a re-implementation of the corresponding WinForms control. If you are familiar with the WinForms controls, you should find the WPF versions to be very similar.
As opposed to the old WinForms versions the WPF do not require using (or even have) Generate methods to be instantiated. They can be used directly in your XAML (or new'ed from code-behind if you prefer) and even added to your Visual Studio designer toolbox for simple drag'n'drop deployment (you need to manually add the VideoOS.Platform.dll
to your toolbox, though).
Using WPF controls in Smart Client plug-ins
You use the ViewItemPlugin
, SidePanelPlugin
, and SettingsPanelPlugin
(or OptionsDialogPlugin
for WinForms) to define how Smart Client plug-ins integrate into the user interface.
For more information about user control architecture and life cycle, refer to:
User control | Definition | Description | Both |
---|---|---|---|
|
|
The user controls are provided through methods on the |
X |
|
|
In the |
X |
|
The |
The ViewItemPlugin
and SidePanelPlugin
have both WPF and WinForms functionality. The Smart Client will first call the WPF versions and only if these aren't implemented (returns null), it will call the WinForms versions instead to ensure backward compatibility.
XProtect Design System user controls
The XProtect Design System
The XProtect Design System (codename Apollo) provides a comprehensive set of UX guidelines, based on industry best practice and user research.
Apollo is a collection of interconnected patterns, visual designs, behaviors and shared practices that should be used in product design and development of XProtect solutions
The XProtect Design System provides you with all the detailed information you'll need to build a product experience that aligns with the modern and native Milestone XProtect experience. The design system addresses usability, accessibility, performance and localisation across XProtect desktop, browser, and mobile applications.
For more information, please refer to The XProtect Design System.
XProtect Design Systems user controls
The XProtect Design Systems user controls consists of a collection of WPF user controls that implements the XProtect Design System.
While you can still design and use your own WPF user controls, the XProtect Design Systems user controls provide a number of benefits:
-
A well documented design system that helps achieve consistency at scale.
-
Designed to blend in seamlessly in XProtect products for a consistent user experience.
-
Responds to Smart Client theming with no effort on your part.
-
Adapts to the color scheme and theming in OEM partner offerings.
The XProtect Design Systems user controls are defined in the namespace VideoOS.Platform.UI.Controls
.