by jesseliberty via Jesse Liberty - Silverlight Geek on 12/30/2009 2:30:00 AM
This was posted on Dec. 29 and updated on Dec. 30. The significant changes are to the Configuration and Marker Events sections
This blog post extends the previous post in which I discussed the IMarkerEventHandler interface and how it might be implemented.
The design calls for one or more Pages each of which may have any number of UI modules. The default case is to have a TableOfContents module, a LinksDisplay module and a Reader module.
A Reader houses Frames where a Frame is a set of controls. The Reader knows which frame to create and manages the lifetime of Frames.
A given frame has a known set of controls. For example, Frame-Type-1 might house the HVP-extended version of the Silverlight Media Framework player (as described in this blog post) and Frame-Type-2 might display an html page and have a set of navigation controls. (More on readers and Frames early in January)
We anticipate using XML configuration files (delivered via WCF RIA Services and instantiated by MEF into a collection of business objects that for now I’ll call HVPLayout.
The meaning and actions to be taken by a Frame in response to hitting a marker in the video will be managed by the IMarkerEventHandler (MEH) implementing class. as described in the previous post mentioned earlier.
One approach is to have the Marker Event Handler class own a collection of HVPMarkerEvent business objects, each representing one association between a marker, its time, its type (link, etc.) and whatever other information the MEH class will need to raise the appropriate event. A second approach, and one that is gaining a lot of traction, is to bring in the EventAggregator from Prism.
The Silverlight HyperVideo Player will continue to support existing videos that do not have markers nor our config files by having a default layout in which there is a reader that takes up the entire page, and that reader contains a Frame that itself contains nothing but our extension to the SMF player.
We are actively looking at when using an IoC (Inversion of Control) container such as Ninject would provide services that are not otherwise available. For now, we believe MEF will provide the Container services, configuration and interaction with Unit Test that we need.
Original Post: Silverlight HVP Design, Refinements
The content of the postings is owned by the respective author. Silverlight Feeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on Silverlight Feeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.