Overview of the Windows Media Center Platform
The Windows Media Center Platform consists of two parts—the managed code object model and the Windows Media Center Presentation Layer.
Managed Code Object Model
The Windows Media Center managed code object model contains the following namespaces:
- Microsoft.MediaCenter controls basic Windows Media Center features, such as media playback.
- Microsoft.MediaCenter.Hosting controls the host process for applications, such as page sessions.
- Microsoft.MediaCenter.UI works uses classes and model items to work with the Media Center Markup Language (MCML).
- Microsoft.MediaCenter.DataAccess uses model items to work with RESTful web services to bind MCML UI to XML data directly on the Internet.
- Microsoft.MediaCenter.TV.Epg retrieves information from the Electronic Program Guide (EPG).
- Microsoft.MediaCenter.TV.Scheduling programmatically schedules the digital video recorder (DVR).
- Microsoft.MediaCenter.ListMaker creates lists of media items, which is useful for CD and DVD burning.
Windows Media Center Presentation Layer
The Windows Media Center Presentation Layer separates an application's visual presentation from its logic by employing a model/view approach:
- The model provides the logic of the application (the code and data), and is developed using a managed code language, such as C# and the Microsoft .NET Framework. The model is non-visual.
- The view provides the look and behavior of the application (the user interface), and is authored in Media Center Markup Language (MCML), which is an XML-based declarative language. MCML provides dynamic layout capabilities, integrated animation support, rich text and graphics support, automatic keyboard and remote navigation, parameterization, private local storage, conditional-based data binding, and access to managed code assemblies from markup.
This separation allows the UI to be developed separately from the model items. However, for anything to occur when interacting with the UI, the view must be associated with the model. For example, a button must be associated with code to handle a click event. This binding is achieved by parameters, which are named objects. The managed code object model is markup-accessible and can be called directly from MCML, enabling web application delivery with no need to install additional assemblies.
Sample Explorer
- Fundamentals > Model-view Separation
- Fundamentals > Model-view Separation - Code
See Also