美文网首页
uwp开发:Slider控件和MediaElement绑定,实现

uwp开发:Slider控件和MediaElement绑定,实现

作者: 搬砖的包工头 | 来源:发表于2019-01-21 13:56 被阅读0次

昨天有人问Slider 控件怎么控制MediaElement的播放进度,现在简单介绍一下。

1、实现原理:

Slider拖动时,Value值改变,MediaElement播放时,Position值改变。所以,只需将Slider的Value属性和MediaElement的Position属性进行绑定即可。

2、实现方法:

Slider的Value属性是double类型的,而MediaElement的Position属性是Timespan类型的,要绑定这两种不同类型的的话,就要用到Converter了,即值转换器。关于值转换器,可以百度,或者看IT追梦圆我写的这篇文章:数据绑定——值转换器 的简单使用。

3、实现过程:

写一个值转换器类:

class MusicConverter : 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);

        }

    }

这里注意的是,我是在Slider的Value属性上绑定Position的,这样的话,这个Value就是TimeSpan类型的,我们将它转为double类型,所以直接返回它的TotalSeconds,即总秒数即可。

下来,回到View界面:实现如下绑定。

到这里,还没完,因为我们需要将Slider的Value值和MediaElement播放的总秒数对应起来,这样才能实现百分比进度。所以,需要获取媒体播放的总时长,要注意的是,播放时长需要在MediaElement的MediaOpened事件中获取,因为在这个事件触发之前,系统是获取不到播放时长的。在该事件中将Slider的Maximum和播放总时间对应起来即可。

private void me_MediaOpened(object sender, RoutedEventArgs e)

        {

          sld.Maximum = me.NaturalDuration.TimeSpan.TotalSeconds;

        }

这样绑定就完成了。拖动Slider,实现播放相应进度。喜欢uwp开发的同学可加群:193148992 共同学习交流。

相关文章

  • uwp开发:Slider控件和MediaElement绑定,实现

    昨天有人问Slider 控件怎么控制MediaElement的播放进度,现在简单介绍一下。 1、实现原理: Sli...

  • 酱油04-slider控件

    简单实现slider控件 三种方法实现slider功能

  • 数据绑定

    数据绑定 UWP 每个绑定均由一个绑定目标和一个绑定源构成。 通常,绑定目标是控件或其他 UI 元素的属性,而绑定...

  • WPF 元素绑定测试

    实现将TextBox字体大小绑定到Slider的Value属性,代码查询绑定关系。 实现使用代码创建绑定,解除绑定...

  • 2019-03-23

    slider属性: slider在index.js文件实现绑定的函数形式: Page({ test:functio...

  • 记一次CATextLayer的使用心得

    今天优化代码的时候发现了一个好玩的事情。 需求是实现一个头部显示value值的Slider控件。这个Slider我...

  • Android自定义View(7)利用贝塞尔曲线仿QQ消息拖拽气

    先看看最终效果: 这个自定义控件可以实现与绑定控件解耦,无论是什么控件,只要一行代码绑定即可实现拖拽的效果,并且可...

  • 六、ASP.NET之数据绑定控件(一)

    数据绑定控件 简单数据绑定 1、数据绑定的实现方式分为: (1)简单绑定 (a)表达式绑定 (b)方法绑定 (2...

  • webapp开发遇到的坑

    webapp开发新手,遇坑记录。 1.ios系统部分标签绑定click事件无效 要实现一个点击指定控件以外的...

  • 指令2

    实现双向绑定v-model 注:双向绑定只能用在表单控件上 点击事件绑定(单向) 简易计算器 通过class绑定赋...

网友评论

      本文标题:uwp开发:Slider控件和MediaElement绑定,实现

      本文链接:https://www.haomeiwen.com/subject/mwrcjqtx.html