WP7备注(24)(ApplicationBar|MediaElement)

news/2025/2/26 5:04:47

ApplicationBar常规用法:

<shell:ApplicationBar IsVisible="False">

<shell:ApplicationBarIconButton
IconUri="Images/appbar.transport.pause.rest.png"
Text="Pause"
IsEnabled="False"
Click="OnAppBarPauseClick" />

(this.ApplicationBar.Buttons[1] as ApplicationBarIconButton).IsEnabled = false;

------------------------------------------------------------

MediaElement控制实例:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<MediaElement Name="mediaElement"
Source="http://www.charlespetzold.com/Media/Walrus.wmv"
AutoPlay="False"
MediaOpened="OnMediaElementMediaOpened"
MediaFailed="OnMediaElementMediaFailed"
CurrentStateChanged="OnMediaElementCurrentStateChanged" />
<TextBlock Name="statusText"
HorizontalAlignment="Left"
VerticalAlignment="Bottom" />
<TextBlock Name="errorText"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
TextWrapping="Wrap" />
</Grid>
public MainPage()
{
InitializeComponent();
// Re-assign names already in the XAML file
appbarRewindButton = this.ApplicationBar.Buttons[0] as ApplicationBarIconButton;
appbarPlayButton = this.ApplicationBar.Buttons[1] as ApplicationBarIconButton;
appbarPauseButton = this.ApplicationBar.Buttons[2] as ApplicationBarIconButton;
appbarEndButton = this.ApplicationBar.Buttons[3] as ApplicationBarIconButton;
}
void OnAppbarRewindClick(object sender, EventArgs args)
{
mediaElement.Position = TimeSpan.Zero;
}
void OnAppbarPlayClick(object sender, EventArgs args)
{
mediaElement.Play();
}
void OnAppbarPauseClick(object sender, EventArgs args)
{
mediaElement.Pause();
}
void OnAppbarEndClick(object sender, EventArgs args)
{
mediaElement.Position = mediaElement.NaturalDuration.TimeSpan;
}
void OnMediaElementMediaFailed(object sender, ExceptionRoutedEventArgs args)
{
errorText.Text = args.ErrorException.Message;
}
void OnMediaElementMediaOpened(object sender, RoutedEventArgs args)
{
appbarRewindButton.IsEnabled = true;
appbarEndButton.IsEnabled = true;
}
void OnMediaElementCurrentStateChanged(object sender, RoutedEventArgs args)
{
statusText.Text = mediaElement.CurrentState.ToString();
if (mediaElement.CurrentState == MediaElementState.Stopped ||
mediaElement.CurrentState == MediaElementState.Paused)
{
appbarPlayButton.IsEnabled = true;
appbarPauseButton.IsEnabled = false;
}
else if (mediaElement.CurrentState == MediaElementState.Playing)
{
appbarPlayButton.IsEnabled = false;
appbarPauseButton.IsEnabled = true;
}
}

转载于:https://www.cnblogs.com/otomii/archive/2011/04/29/2032619.html


http://www.niftyadmin.cn/n/4235160.html

相关文章

集群概念介绍

https://blog.csdn.net/lyd135364/article/details/67008645

Oracle更改端口后lsnrctl无法启动

Oracle更改端口后lsnrctl无法启动 最近在研究Oracle 10G&#xff0c;先从安装的时候说起吧&#xff0c;安装的时候&#xff0c;由于默认端口1521已经被其他程序占了&#xff0c;装完oracle后&#xff0c;端口变成了1522。 一、于是把端口改成又改成了1521&#xff0c;当时可以重…

asm字节码操作 方法的动态修改增加

asm 4.0 版本 http://forge.ow2.org/plugins/scmsvn/index.php?group_id23 asm是java的字节码操作框架&#xff0c;可以动态查看类的信息&#xff0c;动态修改&#xff0c;删除&#xff0c;增加类的方法。 下面基于4.0版本的一个使用示例&#xff0c;演示了对类Foo进行修改方法…

【C语言】—— 宏和枚举区别

文章目录 定义方式不同类型检查不同替换时机不同适用场景不同定义范围不同可读性可扩展性可移植性调试和错误处理编译器优化命名空间示例宏定义枚举 总结 C语言中&#xff0c;枚举和宏是两种不同的语法结构&#xff0c;用于定义常量或标识符。它们有以下区别&#xff1a; 枚举是…

left join 终极理解

left join 就是关联&#xff0c;右表多出来不相干 关联不上不要&#xff0c;右边少了以空代替&#xff0c;保证左表全出来&#xff0c;如果右边重复记录&#xff0c;则左表关联上部分也重复。总结就是&#xff0c;左表只会多(重复、因右表重复)不会少&#xff0c;右表关联不上则…

Silverlight应用整合

2019独角兽企业重金招聘Python工程师标准>>> 在企业应用系统中&#xff0c;企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体 验&#xff0c;Silverlight迎合了这种需求&#xff0c;实现了炫目的体验和丰富交互…

服务器架构之性能扩展-目录(1)

近期对linux和windows网络服务器的性能扩展和高级应用进行了系统性的学习&#xff0c;这里和大家分享一下&#xff0c;希望共同进步&#xff0c;我也希望我可以将这些知识在与大家的互动中得到进一步的升华&#xff0c;期待大家的共同参与第一章&#xff1a;大型web架构的设计第…