On an SMF player I have been working on recently we had to implement this ourselves using a combination of DispatcherTimer and mouse enter/leave/move events, all contained in a sub-class of SMFPlayer. I would be interested to see if this is included in the
core player - worth digging through the source.
Essentially the logic is to set up a timer with an interval equal to the time-out you want before the controls fade. As soon as you enter fullscreen you start this timer but reset it every time the mouse moves over the player. Then as soon as the mouse stops
moving the timer will be allowed to fire. At this point you stop the timer to prevent it carrying on and then start a storyboard (included in our player XAML template) that fades the controls. As soon as the user moves the mouse the controls should be faded
back in (another storyboard) if they have been hidden. Likewise for exiting fullscreen.
We were also hiding the cursor with Cursor = Cursors.None