zoukankan      html  css  js  c++  java
  • uwp,c#,mediaElement与slider进度条绑定

    虽然微软uwp官方已停止对传统媒体控件mediaElement的update,新控件为mediaPlayerElement和mediaPlayer[官方word:https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/media-playback].

    这里阐述的是传统媒体控件MediaElement和自定义进度条slider的绑定内容。(mediaPlayerElement是否也适用,小生没有实测)

    首先写一个类,叫做控制器,之后在XAML里进行绑定

    class ProgressConvert : IValueConverter
    
        {
    
            public object Convert(object value, Type targetType, object parameter, string language)
    
            {
    
                return ((TimeSpan)value).TotalSeconds;
    
            }
    
    
    
            public object ConvertBack(object value, Type targetType, object parameter, string language)
    
            {
    
                return TimeSpan.FromSeconds((double)value);
    
            }
    
        }

    据我所知,这个控制器是通用版的,需要时直接搬运。

    直接在Page.Resources里调用,这里我需要引用命名空间,自己根据自己实际情况。

    xmlns:modle="using:VideoPlayer.Modle"
    
    <Page.Resources>
    <ResourceDictionary>
    <modle:ProgressConvert x:Key="progressConvert"/>
    </ResourceDictionary>
    </Page.Resources>
    

    下面是MediaElement和Slider控件的绑定了

    
    <MediaElement x:Name="main_mediaElement" AutoPlay="False" AreTransportControlsEnabled="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
    
     <Slider x:Name="progress_slider" ManipulationMode="Rotate" Style="{StaticResource MediaSliderStyle}" Grid.Column="1" Minimum="0" IsThumbToolTipEnabled="False" VerticalAlignment="Center" Value="{Binding ElementName=main_mediaElement,Path=Position,Converter={StaticResource progressConvert},Mode=TwoWay}" Margin="10,0,10,-5"/>

    这里直接搬用了我的源码,有些属性不用管,主要了解Binding这块。

    MediaElement的AreTransportControlEnabled=False将禁用自带的播放控件,自带的当然是自动绑定的了,当想自定义播放控件时,可以使用这个方案。

  • 相关阅读:
    数论&数学中结论证明
    「Uva11401」数三角形
    「CJOJ2725」Wave
    「CJOJ2724」Number
    「CJOJ2723」Reserve
    「CJOJ2722」Ping
    「CJOJ2573」Snake vs Block
    「CJOJ2574」Lucky Transformati
    「CJOJ2721」取石块儿
    「CJOJ2366」机器人采集金属
  • 原文地址:https://www.cnblogs.com/singhwong/p/11918455.html
Copyright © 2011-2022 走看看