虽然微软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将禁用自带的播放控件,自带的当然是自动绑定的了,当想自定义播放控件时,可以使用这个方案。

uwp,c#,mediaElement与slider进度条绑定的更多相关文章

  1. wpf slider进度条的样式模板,带有进度颜色显示

    效果图: 仅仅需在前台加上这段代码就可以: <UserControl.Resources> <!--笔刷--> <LinearGradientBrush x:Key=&q ...

  2. 【UWP】实现一个波浪进度条

    好久没写 blog 了,一个是忙,另外一个是觉得没啥好写.废话不多说,直接上效果图: 可能看到这波浪线你觉得会很难,但看完这篇 blog 后应该你也会像我一样恍然大悟.图上的图形,我们可以考虑是由 3 ...

  3. win10 uwp 异步进度条

    本文主要讲我设计的几个进度条,还有如何使用异步控制进度条,如何使用动画做进度. 进度条可以参见:http://edi.wang/post/2016/2/25/windows-10-uwp-modal- ...

  4. 2018-2-13-win10-uwp-异步进度条

    title author date CreateTime categories win10 uwp 异步进度条 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17 ...

  5. win10 uwp 进度条 Marquez

    本文将告诉大家,如何做一个带文字的进度条,这个进度条可以用在游戏,现在我做的挂机游戏就使用了他. 如何做上图的效果,实际需要的是两个控件,一个是显示文字 的 TextBlock 一个是进度条. 那么如 ...

  6. 示例:WPF中Slider控件封装的缓冲播放进度条控件

    原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现 ...

  7. wxpython中列表框(ListBox类)、复选列表框(CheckListBox)、下拉选项(Choice)、进度条(Gauge)、滑块(Slider)使用实例源码分享

    #coding=utf-8 import wx import time class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(s ...

  8. [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  9. ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件

    本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择 ...

随机推荐

  1. Invalid HTTP_HOST header: 'xxx.xxx:8000'. You may need to add 'xxx.xx' to ALLOWED_HOSTS

    用python3 manage.py runserver 0.0.0.0:8000命令运行django程序后,通过浏览器访问服务器网址的8000端口,出现访问错误,报错为 Invalid HTTP_H ...

  2. webservice三要素

    1. 2. 3.

  3. 【csp模拟赛6】计数--单调栈

    对于60%的数据:暴力枚举对于100%的数据:因为排列是随机的,所以从每个点向后可能的差值最多2logn个,所以答案最多只可能有nlogn种,用单调队列找出来统计即可 维护对于每个位置,向右能影响到的 ...

  4. 线段树QWQ

    一直没碰过线段树,个人认为好长好难,不过这几天做题遇到了裸的线段树的题,TAT. 线段树我理解就是把二叉树的左右节点现在分别看成是两个区间. 那么现在这两个区间的端点怎么存放?怎么能够把这个区间里的数 ...

  5. zabbix4.2升级后中文字体乱码解决方法.

    字体文件目录: zabbix 4.2 /usr/share/zabbix/assets/fonts/ 4.0 /usr/share/zabbix/fonts/ php 脚本文件位置: /usr/sha ...

  6. vmware压缩vmdk文件大小

    在搭建靶机环境的过程中总是遇见vmdk越来越大,导致上传时间变长.记一下压缩vmdk的方法 ;sync;rm -f zero.fill /usr/bin/vmware-toolbox-cmd disk ...

  7. 重读APUE(14)-主线程终止对子线程的影响

    在main中创建线程,我们称main线程为主线程,新建线程为子线程(其实没有什么主线程和子线程的父子概念,它们是平行的,为了好理解这样称呼),如果子线程内部执行相对比较耗时的操作,主线程执行的快,而且 ...

  8. SpringBoot2.0 Actuator 监控参数说明

    主要内容更 监控参数说明 Maven坐标 <dependency> <groupId>org.springframework.boot</groupId> < ...

  9. 问题MySQL Error (2013): Lost connection to MySQL server at waiting for initial communication packet

    错误说明: SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet ...

  10. ThinkPHP6.0学习之安装及问题解决

    ThinkPHP6.0学习之安装及问题解决 ThinkPHP6.0开发版已经上线了,我已经等了他很久了,现在写一个系列来记录Thinkphp6.0的使用,我们现在从安装开始学习吧. 首先我们要确定Th ...