Search code examples
uwpmedia-playeruwp-xaml

How to hide MediaPlayerElement's ProgressBar?


When buffering online media, MediaPlayerElement always show ProgressBar. I want to hide it and use my own. How? Thx.

enter image description here


Solution

  • I modified MediaTransportControls's style, and set "BufferingProgressBar.Visibility" to "Collapse" when buffering.

    <VisualStateGroup x:Name="MediaStates">
        <VisualState x:Name="Normal" />
        <VisualState x:Name="Buffering">
            <VisualState.Setters>
                <Setter Target="BufferingProgressBar.Visibility" Value="Collapse" />
            </VisualState.Setters>
        </VisualState>
        <VisualState x:Name="Loading">
            <VisualState.Setters>
                <Setter Target="BufferingProgressBar.Visibility" Value="Collapse" />
            </VisualState.Setters>
    
            <Storyboard>
                <DoubleAnimation Storyboard.TargetName="ProgressSlider"
                    Storyboard.TargetProperty="Opacity"
                    To="0"
                    Duration="0" />
                <DoubleAnimation Storyboard.TargetName="MediaControlsCommandBar"
                    Storyboard.TargetProperty="Opacity"
                    To="0"
                    Duration="0" />
            </Storyboard>
        </VisualState>
    
    </VisualStateGroup>