May be I don's see smth obvious... but I can't set video horizontal alignment to center in UniformToFill streatch mode.
My video stream is 1280720 (playlistItem in UniformToFill stretch mode), my SMFPlayer has size 500
500 pixels. In my player I see left part of the video image, but I want to see center part.
I've tried many ways to do it, but without any result:
- Changing HorizontalContentAlignment and VerticalAlignment to Center will give no effect.
- Moreover, in smfPLayer template there are PlayerRoot (Grid) with MediaPresenterElement (ContentControl). Changing all possiible alignments to Center gives no effect.
- I've found that there is SmoothStreamingMediaElement in MediaPresenterElement Content. Centering video in SmoothStreamingMediaElement is simple task with Templates (.. in Control Template I should set only HorizontalAlignment and VerticalAlignment to inner
Media Element and video is centered).
I try to assign appropriate template to this ContentControl's SmoothStreamingMediaElement:
SmoothStreamingMediaElement mediaElem = MediaPresenterElement.Content as SmoothStreamingMediaElement;
Style centerStyle = App.Current.Resources["SmoothStreamingMediaElementStyle1"] as Style;
if (mediaElem != null && centerStyle != null)
mediaElem.Style = centerStyle;
But get error in Browser: Unhandled Error in Silverlight Application
Message: System.InvalidOperationException: Operation is not valid due to the current state of the object.
in System.Windows.FrameworkElement.OnApplyTemplate(IntPtr nativeTarget)
If I assign this template without SMFPlayer for another SmoothStreamingMediaElement it works ine.
I can't see other ways to do it. Is it possible? If yes - could you help me?
Thanks a lot for reading.