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; } }