2. You'll want to look at the "ControlStripStates" in the theme. By default the ControlStripNotVisible state does not do anything. The Visibility property is bound on the ControllerContainer but if it's not working (I personally haven't used it yet.. I normally
only change the visibility in full screen mode with a custom mouseover state)
3. This is going to be very ugly, you will need to extend the SmfPlayer class and add a new TemplatePart, then override OnApplyTemplate and get a reference to that part. Then you will need to basically either map the parts within your user control to their
counterparts SmfPlayer is expecting, then do their wireup events or you will need to add tons more code. I HIGHLY recommend going and looking at the source code of SMF, particularly the SMFPlayer.TemplateDefinition.cs file under Microsoft.SilverlightMediaFramework.Core\TemplateDefinitions\SmfPlayer\
. This is where all the different controls are wired up. The OnApplyTemplate() method is where all the magic happens. There are many parts of the SMFPlayer source that utilize the Protected fields set up in OnApplyTemplate. It does a good job handling them
missing since everything basically is run through the IfNotNull<T>(Action<T>) extension method. But if you want them to actually function it will need them to be populated with the object.
If you need to beyond that where your user control is hiding those elements (or replacing them with different types of elements) you will need to do some pretty extensive rewrite of parts of SMFPLayer.cs and SMFPlayer.TemplateDefinitions.cs