在WPF中怎么实现像windows meida player播放器那样的隐藏进度条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WPF中怎么实现像windows meida player播放器那样的隐藏进度条相关的知识,希望对你有一定的参考价值。

我在做一个项目,当我鼠标移动到MediaElement控件上时,会在MediaElement上浮现一些透明的按钮(可以点击),当鼠标离开MediaElement时这些按钮隐藏起来。就像windows7 windows meida player下方的进度条那样
我的意思是像windows meida player播放器这样,当鼠标移动进来的时候(进度条,暂停按钮这些)显示,移动出去时候就隐藏

建议你用BLEND来做这个动画,通过自定义控件http://blog.csdn.net/klo220/article/details/17504309设置其IsMouseOver属性来实现,把控件的默认样式设置为透明,IsMouseOver属性动画还原其透明就好。
自己动手试验了下,先加个Grid作为背景模板,在Grid中添加MouseEnter和MouseLeave两个属性。再加入如下事件:
private void grid_MouseEnter(object sender, MouseEventArgs e)

Brush brush = new SolidColorBrush(Colors.LightBlue);
grid.Background = brush;
button1.Visibility = Visibility.Visible;


private void grid_MouseLeave(object sender, MouseEventArgs e)

Brush brush = new SolidColorBrush(Colors.Transparent);
grid.Background = brush;
button1.Visibility = Visibility.Collapsed;
参考技术A 这样子吧~其实mediaelement播放音乐是不显示的。你不妨这样,定义Grid,里面内嵌stackpanel,它有两个元素,mediaelement(visibility设为collapse),还有一个包含了其他控件组的border。并为其设置mouseenter 和leave 事件,进入时visibility 为visible 离开时为collapse 即可。 参考技术B http://zouqinghua11111.blog.163.com/blog/static/67997654201271441424948/

给你个网址 你自己看下吧
参考技术C 将mediaelement 内嵌到一个border 里,给border 的mouseenter设置触发器。此时将那些控件的visibility 属性改为visible 即可,那些控件默认为hidden 。追问

border只能嵌套一个控件啊,那些其他的控件放在哪。我现在是定义了一个Grid。将mediaelement 内嵌到一个border 里放到了Grid里。其他的那些控件怎么办,不能前后叠加在一起啊

在Android中 怎么开发像windows软件中的tab键实现焦点在按钮上切换 用了requsetFocus()好像没有用啊!

很急啊,哪位大神可以说下,谢谢!

如果猜得没错的话,应该是你初始化的时候,设定的焦点被其他view组件抢走了,android中有一个属性叫android:descendant什么的,你查一下,然后把这属性设置为block*******(具体名字我忘了)可以查到的,然后应该就能达到你说的目的了~ 好久没摸这东西了,你看看有帮助没~~ 参考技术A 安卓上只有部分软件支持按键选择下一栏,够呛能靠一种APP解决各种APP问题,追问

我就是要做一个功能 比如 在 模拟器中按左按钮 按钮的焦点就跳到我设定的这个按钮的nextFocusLeft所设定的按钮上 按右按钮 按钮焦点就跳到这个按钮的nextFocusRight所设定的按钮上 nextFocusUp nextFocusDown 也同理。 但是 现在在初始化界面时,调用requestFocus()貌似连出事设定该页面的默认焦点 也得不到 该默认按钮无法获得焦点

追答

哥'太专业了,我看不懂

以上是关于在WPF中怎么实现像windows meida player播放器那样的隐藏进度条的主要内容,如果未能解决你的问题,请参考以下文章

wpf怎么new一个新窗口(就是点击按钮后跳到一个新窗口,就像页面跳转那样)

wpf怎么自定义窗口

WPF中,做一个Button实现,窗口的最大化及其Normal(就像自带的那样)。如何实现?怎么判断当前是不是为窗口

WPF中窗体之间的继承是如何实现的?说下实现方式...

WPF 的 Windows 7 主题?

在 WPF 中重新排列列表框项目(如 Windows 8 开始屏幕磁贴)