MediaElement 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个对象,该对象将音频和视频呈现给显示器。 请参阅“备注”。
public ref class MediaElement sealed : FrameworkElement
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class MediaElement final : FrameworkElement
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class MediaElement final : FrameworkElement
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class MediaElement : FrameworkElement
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaElement : FrameworkElement
Public NotInheritable Class MediaElement
Inherits FrameworkElement
<MediaElement .../>
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
此代码创建一个 MediaElement,其中 AutoPlay 属性显式设置为 true ,并将 Source 设置为应用中包含的视频文件的路径。
<MediaElement Source="Media/video1.mp4" AutoPlay="True" />
<MediaElement x:Name="mediaPlayer"
Source="Videos/video1.mp4"
Width="400"
AutoPlay="False"
AreTransportControlsEnabled="True" />
<Grid>
<Button Content="Show Popup" Click="ShowPopupClicked"/>
<Popup x:Name="mediaPlayerPopup">
<StackPanel Height="1400" Width="1400" Background="Blue">
<MediaElement x:Name="mediaPlayer"
AreTransportControlsEnabled="True"
Source="Media/Intro.wmv"/>
<TextBlock Text="Simple Popup"/>
<Button Content="Close" Click="ClosePopupClicked"/>
</StackPanel>
</Popup>
</Grid>
long token;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
token = mediaPlayer.RegisterPropertyChangedCallback(MediaElement.IsFullWindowProperty, OnMEFullWindowChanged);
base.OnNavigatedTo(e);
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
mediaPlayer.UnregisterPropertyChangedCallback(MediaElement.IsFullWindowProperty, token);
}
private void OnMEFullWindowChanged(DependencyObject sender, DependencyProperty dp)
{
MediaElement me = (MediaElement)sender;
if (me != null && dp == MediaElement.IsFullWindowProperty)
{
if (me.IsFullWindow == true)
{
mediaPlayerPopup.Visibility = Visibility.Collapsed;
}
else
{
mediaPlayerPopup.Visibility = Visibility.Visible;
}
}
}
private void ClosePopupClicked(object sender, RoutedEventArgs e)
{
// If the Popup is open, then close it.
if (mediaPlayerPopup.IsOpen) { mediaPlayerPopup.IsOpen = false; }
}
// Handles the Click event on the Button on the page and opens the Popup.
private void ShowPopupClicked(object sender, RoutedEventArgs e)
{
// Open the Popup if it isn't open already.
if (!mediaPlayerPopup.IsOpen) { mediaPlayerPopup.IsOpen = true; }
}
注解
重要
在Windows 10版本 1607 中,我们建议使用 MediaPlayerElement 代替 MediaElement。 MediaPlayerElement 具有与 MediaElement 相同的功能,同时还支持更高级的媒体播放方案。 此外,媒体播放的所有未来改进都将在 MediaPlayerElement 中发生。
提示
有关详细信息、设计指南和代码示例,请参阅 媒体播放。
使用 MediaElement 控件在应用中播放音频和视频文件。 内置媒体传输控件允许用户通过提供由各种按钮(包括播放、暂停、隐藏字幕等)组成的默认播放体验来与其媒体进行交互。 有关详细信息 ,请参阅 MediaTransportControls 。
有关 MediaElement 支持的媒体格式的信息,请参阅 支持的编解码器。
有关 MediaElement 相关性能的信息,请参阅 优化动画和媒体。
设置媒体源
将 MediaElement 对象的 Source 属性设置为指向音频或视频文件。 属性可以设置为应用随附的文件的统一资源标识符 (URI) ,或网络上文件的统一资源标识符 (URI) 。 可以使用 SetSource 方法将源设置为使用 FileOpenPicker 对象从本地系统检索到的文件。
默认情况下, 由 Source 属性定义的媒体在加载 MediaElement 对象后立即播放。 若要禁止媒体自动启动,请将 “自动播放 ”属性设置为 false。
实时媒体流报告 Int64.MaxValue 的 NaturalDuration。
下面介绍如何在 XAML 中创建 MediaElement,其中 Source 设置为应用中包含的视频文件的路径,并且 AutoPlay 属性显式设置为 false。
<MediaElement Source="Media/video1.mp4" AutoPlay="false"/>
下面介绍如何在代码中创建 MediaElement。
MediaElement mediaElement1 = new MediaElement();
mediaElement1.Source = new Uri("ms-appx:///Media/video1.mp4");
mediaElement1.AutoPlay = false;
// Add the MediaElement to the page.
rootGrid.Children.Add(mediaElement1);
处理媒体事件
可以响应常见的媒体事件,例如 MediaOpened、 MediaEnded、 MediaFailed 和 CurrentStateChanged 事件。 最好始终处理 MediaFailed 事件。
传输控件
设置 AreTransportControlsEnabled 属性以编程方式启用和禁用 MediaElement 的内置传输控件。 内置的传输控件提供用于播放、停止、暂停和查找媒体的 UI,以及用于音量、静音、全屏、曲目选择和剩余时间的 UI。
可以通过将 AreTransportControlsEnabled 设置为 false 并使用 Play、 Pause 和 Stop 方法创建自己的媒体传输控件。 MediaElement 还公开了一组你可以控制的丰富属性,如 Position、 Volume、 IsMuted、 IsLooping、 PlaybackRate 和 Balance。
提示
为了获得更好的性能,请避免将数据绑定到 Position 属性,以反映频繁的位置更新 (例如使用进度栏) 。 请改用 DispatcherTimer 查询 Position 属性。
有关详细信息和示例,请参阅 创建自定义传输控件。
打开本地媒体文件
若要在本地系统或 Microsoft OneDrive 中打开文件,可以使用 FileOpenPicker 获取文件,使用 SetSource 设置媒体源,也可以以编程方式访问用户媒体文件夹。
如果你的应用需要访问而无需用户与 音乐 或 视频 文件夹交互,例如,如果你枚举用户集合中的所有音乐或视频文件并在你的应用中显示它们,则需要声明 音乐库 和 视频库 功能。 有关详细信息,请参阅音乐、图片和视频库中的文件和文件夹。
FileOpenPicker 不需要特殊的功能来访问本地文件系统上的文件,例如用户的音乐或视频文件夹,因为用户可以完全控制要访问的文件。 从安全性和隐私性角度来看,最好尽量减少你的应用使用的功能数。
使用 FileOpenPicker 打开本地媒体
-
- 调用 FileOpenPicker 以使用户选取媒体文件。
使用 FileOpenPicker 类选择媒体文件。 设置 FileTypeFilter 以指定 FileOpenPicker 将显示的文件类型。 调用 PickSingleFileAsync 来启动文件选取器并获取文件。
- 调用 SetSource 将所选媒体文件设置为 MediaElement.Source。
若要将 MediaElement 的源设置为从 FileOpenPicker 返回的 StorageFile,需要打开一个流。 对 StorageFile 调用 OpenAsync 方法将返回可以传入 MediaElement.SetSource 方法的流。 然后在 MediaElement 上调用 Play 以启动媒体。 此示例演示如何使用 FileOpenPicker 选择文件并将该文件设置为 MediaElement 的 源 。
<MediaElement x:Name="mediaPlayer"/>
...
<Button Content="Choose file" Click="Button_Click"/>
private async void Button_Click(object sender, RoutedEventArgs e)
{
await SetLocalMedia();
}
async private System.Threading.Tasks.Task SetLocalMedia()
{
var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
openPicker.FileTypeFilter.Add(".wmv");
openPicker.FileTypeFilter.Add(".mp4");
openPicker.FileTypeFilter.Add(".wma");
openPicker.FileTypeFilter.Add(".mp3");
var file = await openPicker.PickSingleFileAsync();
// mediaPlayer is a MediaElement defined in XAML
if (file != null)
{
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
mediaPlayer.SetSource(stream, file.ContentType);
mediaPlayer.Play();
}
}
选择不同语言的音轨
使用 AudioStreamIndex 属性和 GetAudioStreamLanguage 方法将音频更改为视频上的其他语言轨道。 视频还可以包含同一语言的多个音轨,例如电影的导演评论。 此示例专门演示如何在不同语言之间切换,但你可以修改此代码以在任何音轨之间切换。
选择不同语言的音轨
- 获取音轨。
若要搜索特定语言的曲目,请首先循环访问视频上的每个音轨。 使用 AudioStreamCount 作为 for 循环的最大值。
- 获取音轨的语言。
使用 GetAudioStreamLanguage 方法获取曲目的语言。曲目的语言由 语言代码标识,例如 “en” 表示英语,“ ja” 表示日语。
- 设置活动音轨。
找到具有所需语言的曲目时,请将 AudioStreamIndex 设置为轨道的索引。将 AudioStreamIndex 设置为 null 会选择内容定义的默认音轨。 下面是一些尝试将音轨设置为指定语言的代码。 它循环访问 MediaElement 对象上的音轨,并使用 GetAudioStreamLanguage 获取每个轨道的语言。如果存在所需的语言轨道, AudioStreamIndex 将设置为该轨道的索引。
/// <summary>
/// Attemps to set the audio track of a video to a specific language
/// </summary>
/// <param name="lcid">The id of the language. For example, "en" or "ja"</param>
/// <returns>true if the track was set; otherwise, false.</returns>
private bool SetAudioLanguage(string lcid, MediaElement media)
{
bool wasLanguageSet = false;
for (int index = 0; index < media.AudioStreamCount; index++)
{
if (media.GetAudioStreamLanguage(index) == lcid)
{
media.AudioStreamIndex = index;
wasLanguageSet = true;
}
}
return wasLanguageSet;
}
全屏播放
使用 IsFullWindow 属性可以启用和禁用全屏呈现。 在全屏模式下,在 MediaElement 上收到的输入事件仍将路由到后台的可视化树。 例如,如果 MediaElement 位于 ListBox 中,则旋转滚轮可能会导致 ListBox 在后台滚动。 这可能会导致意外行为。 如果在全屏模式下不应路由输入事件,则 MediaElement 应处理这些事件。
注意
建议不要在 Popup 控件中使用 MediaElement。 如果 弹出窗口 中托管的 MediaElement 切换到全屏模式,则 弹出窗口 将呈现在 MediaElement 的顶部。 如果必须在 弹出窗口中使用 MediaElement,则应在 MediaElement 进入全屏模式时折叠 弹出窗口 ,并在 MediaElement 退出全屏模式时还原 弹出窗口 。 使用 DependencyProperty.RegisterPropertyChangedCallback 在 MediaElement.IsFullWindow 属性更改时收到通知。 有关示例,请参阅“示例”部分。
继续播放媒体
若要阻止屏幕在不再检测到用户操作时(例如在应用播放视频时)被停用,可以调用 DisplayRequest.RequestActive。 若要节省电源并延长电池寿命,应调用 DisplayRequest.RequestRelease 以在不再需要显示请求时立即将其释放。
在以下情况下应该释放显示请求:
- 例如,由于用户操作、缓冲或有限带宽引起的调整需要暂停视频播放。
- 播放停止。 例如,视频播放完毕或完成演示文稿。
- 出现播放错误。 例如,存在网络连接问题或损坏的文件。 在这里,使用 CurrentStateChanged 事件来检测这些情况。 然后,使用 IsAudioOnly 属性确定音频或视频文件是否正在播放,并且仅在播放视频时使屏幕保持活动状态。
<MediaElement Source="Media/video1.mp4"
CurrentStateChanged="MediaElement_CurrentStateChanged"/>
// Create this variable at a global scope. Set it to null.
private DisplayRequest appDisplayRequest = null;
private void MediaElement_CurrentStateChanged(object sender, RoutedEventArgs e)
{
MediaElement mediaElement = sender as MediaElement;
if (mediaElement != null && mediaElement.IsAudioOnly == false)
{
if (mediaElement.CurrentState == Windows.UI.Xaml.Media.MediaElementState.Playing)
{
if (appDisplayRequest == null)
{
// This call creates an instance of the DisplayRequest object.
appDisplayRequest = new DisplayRequest();
appDisplayRequest.RequestActive();
}
}
else // CurrentState is Buffering, Closed, Opening, Paused, or Stopped.
{
if (appDisplayRequest != null)
{
// Deactivate the display request and set the var to null.
appDisplayRequest.RequestRelease();
appDisplayRequest = null;
}
}
}
}
海报源
可以使用 PosterSource 属性在加载媒体之前为 MediaElement 提供可视表示形式。 PosterSource 是一个屏幕截图或电影海报之类的图像,用于代替媒体显示。 PosterSource 将在以下情况下显示:
- 在没有设置有效的源时。 例如,未设置 Source , Source 设置为 Null,或源无效 (当 MediaFailed 事件触发) 。
- 加载媒体时。 例如,设置了有效的源,但 尚未触发 MediaOpened 事件。
- 当媒体流式传输到其他设备时。
- 当媒体仅限音频时。
早期版本的说明
Windows 8.1
在 Windows Phone 上,一次只能有一个 MediaElement。
若要让音频在应用处于后台时继续播放,请将 AudioCategory 属性设置为 BackgroundCapableMedia。 这还需要在应用清单中声明“音频”后台任务功能。 这些值在 Windows 10 中已弃用。
Windows 8
在Windows 8.1之前, 中的 IsFullWindow 属性不可用。 若要启用全屏视频播放,必须将 MediaElement 的 Width 和 Height 设置为当前窗口的 Window.Bounds 。 具体而言,请使用 Window.Current.Bounds.Width 和 Window.Current.Bounds.Height。 如果设置父元素(如网格)或包含元素(而不是 MediaElement)的尺寸,则全屏播放不会利用系统优化。
在Windows 8.1之前,MediaElement 不支持 Opacity 属性。
在Windows 8.1之前,AreTransportControlsEnabled 属性和内置传输控件不可用。 必须提供自己的传输控件。 有关详细信息和示例,请参阅 创建自定义传输控件 和 XAML 媒体播放示例的方案 4。
Windows Phone 8
Windows Phone 8.x 应用必须使用 PickSingleFileAndContinue 打开本地媒体文件。
构造函数
MediaElement() |
实例化 MediaElement 类的新实例。 |
属性
AccessKey |
获取或设置此元素的访问键 (助记键) 。 (继承自 UIElement) |
AccessKeyScopeOwner |
获取或设置一个源元素,该元素提供此元素的访问键范围,即使它不在源元素的可视化树中也是如此。 (继承自 UIElement) |
ActualHeight |
获取 FrameworkElement 的呈现高度。 请参阅“备注”。 (继承自 FrameworkElement) |
ActualOffset |
获取此 UIElement 相对于其父级的位置,该位置在布局过程的排列过程期间计算。 (继承自 UIElement) |
ActualSize |
获取此 UIElement 在布局过程的排列过程中计算的大小。 (继承自 UIElement) |
ActualStereo3DVideoPackingMode |
获取一个枚举值,该值确定立体声三维视频帧打包模式的当前值,并考虑其他因素,例如媒体引擎是否已准备好使用。 |
ActualStereo3DVideoPackingModeProperty |
标识 ActualStereo3DVideoPackingMode 依赖属性。 |
ActualTheme |
获取元素当前使用的 UI 主题,该主题可能与 RequestedTheme 不同。 (继承自 FrameworkElement) |
ActualWidth |
获取 FrameworkElement 的呈现宽度。 请参阅“备注”。 (继承自 FrameworkElement) |
AllowDrop |
获取或设置一个值,该值确定此 UIElement 是否可以作为拖放操作的放置目标。 (继承自 UIElement) |
AllowFocusOnInteraction |
获取或设置一个值,该值指示当用户与元素交互时是否自动获得焦点。 (继承自 FrameworkElement) |
AllowFocusWhenDisabled |
获取或设置禁用的控件是否可以接收焦点。 (继承自 FrameworkElement) |
AreTransportControlsEnabled |
获取或设置一个值,该值确定是否启用标准传输控件。 |
AreTransportControlsEnabledProperty |
标识 AreTransportControlsEnabled 依赖属性。 |
AspectRatioHeight |
获取媒体的本机纵横比的高度部分。 |
AspectRatioHeightProperty |
标识 AspectRatioHeight 依赖属性。 |
AspectRatioWidth |
获取媒体的本机纵横比的宽度部分。 |
AspectRatioWidthProperty |
标识 AspectRatioWidth 依赖属性。 |
AudioCategory |
获取或设置一个值,该值描述音频流中音频信息的用途。 |
AudioCategoryProperty |
标识 AudioCategory 依赖属性。 |
AudioDeviceType |
获取或设置一个值,该值描述用于播放音频的设备的主要用法。 |
AudioDeviceTypeProperty |
标识 AudioDeviceType 依赖属性。 |
AudioStreamCount |
获取当前媒体文件中存在的音频流数。 |
AudioStreamCountProperty |
标识 AudioStreamCount 依赖属性。 |
AudioStreamIndex |
获取或设置与视频组件一起播放的音频流的索引。 音频流的集合在运行时组成,表示媒体文件中可用的所有音频流。 |
AudioStreamIndexProperty |
标识 AudioStreamIndex 依赖属性。 |
AutoPlay |
获取或设置一个值,该值指示设置 Source 属性时媒体是否自动开始播放。 |
AutoPlayProperty |
标识 AutoPlay 依赖属性。 |
Balance |
获取或设置立体声扬声器的音量比率。 |
BalanceProperty |
标识 Balance 依赖属性。 |
BaseUri |
获取统一资源标识符 (URI) ,表示 XAML 加载时 XAML 构造对象的基统一资源标识符 (URI) 。 此属性适用于统一资源标识符 (URI) 运行时的解析。 (继承自 FrameworkElement) |
BufferingProgress |
获取一个值,该值指示当前缓冲进度。 |
BufferingProgressProperty |
标识 BufferingProgress 依赖属性。 |
CacheMode |
获取或设置一个值,该值指示应尽可能将呈现的内容缓存为复合位图。 (继承自 UIElement) |
CanBeScrollAnchor |
获取或设置一个值,该值指示 UIElement 是否可以成为滚动定位的候选项。 (继承自 UIElement) |
CanDrag |
获取或设置一个值,该值指示是否可以在拖放操作中将元素作为数据拖动。 (继承自 UIElement) |
CanPause |
获取一个值,该值指示在调用 Pause 方法时是否可以暂停媒体。 |
CanPauseProperty |
标识 CanPause 依赖属性。 |
CanSeek |
获取一个值,该值指示是否可以通过设置 Position 属性的值来重新定位媒体。 |
CanSeekProperty |
标识 CanSeek 依赖属性。 |
CenterPoint |
获取或设置 元素的中心点,该中心点是关于发生旋转或缩放的点。 影响元素的呈现位置。 (继承自 UIElement) |
Clip |
获取或设置用于定义 UIElement 内容的大纲的 RectangleGeometry。 (继承自 UIElement) |
CompositeMode |
获取或设置一个属性,该属性声明元素在其父布局和窗口中的替代组合和混合模式。 这与混合 XAML/Microsoft DirectX UI 中涉及的元素相关。 (继承自 UIElement) |
ContextFlyout |
获取或设置与此元素关联的浮出控件。 (继承自 UIElement) |
CurrentState |
获取此 MediaElement 的状态。 |
CurrentStateProperty |
标识 CurrentState 依赖属性。 |
DataContext |
获取或设置 FrameworkElement 的数据上下文。 数据上下文的常见用途是 FrameworkElement 使用 {Binding} 标记扩展并参与数据绑定。 (继承自 FrameworkElement) |
DefaultPlaybackRate |
获取或设置媒体引擎的默认播放速率。 当用户不使用快进或反向时,将应用播放速率。 |
DefaultPlaybackRateProperty |
标识 DefaultPlaybackRate 依赖属性。 |
DesiredSize |
获取此 UIElement 在布局过程的度量传递期间计算的大小。 (继承自 UIElement) |
Dispatcher |
获取与此 对象关联的 CoreDispatcher 。 CoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。 (继承自 DependencyObject) |
DownloadProgress |
获取一个值,该值指示为位于远程服务器上的内容完成的下载量。 |
DownloadProgressOffset |
获取下载进度的偏移量,该偏移量与提前查找方案相关。 |
DownloadProgressOffsetProperty |
标识 DownloadProgressOffset 依赖属性。 |
DownloadProgressProperty |
标识 DownloadProgress 依赖属性。 |
ExitDisplayModeOnAccessKeyInvoked |
获取或设置一个值,该值指定在调用访问密钥时是否消除访问密钥显示。 (继承自 UIElement) |
FlowDirection |
获取或设置文本和其他 UI 元素在控制其布局的任何父元素中的流动方向。 此属性可以设置为 LeftToRight 或 RightToLeft。 在任何元素上将 FlowDirection 设置为 RightToLeft 会将对齐方式设置为右对齐,将读取顺序设置为从右到左,并将控件的布局设置为从右到左流动。 (继承自 FrameworkElement) |
FocusVisualMargin |
获取或设置 FrameworkElement 的焦点视觉对象的外边距。 (继承自 FrameworkElement) |
FocusVisualPrimaryBrush |
获取或设置用于绘制 FrameworkElement 或 |
FocusVisualPrimaryThickness |
获取或设置 FrameworkElement 或 |
FocusVisualSecondaryBrush |
获取或设置用于绘制 FrameworkElement 或 |
FocusVisualSecondaryThickness |
获取或设置 FrameworkElement 或 |
Height |
获取或设置 FrameworkElement 的建议高度。 (继承自 FrameworkElement) |
HighContrastAdjustment |
获取或设置一个值,该值指示框架是否在启用高对比度主题时自动调整元素的视觉属性。 (继承自 UIElement) |
HorizontalAlignment |
获取或设置在布局父级(如面板或项控件)中组合时应用于 FrameworkElement 的水平对齐特征。 (继承自 FrameworkElement) |
IsAccessKeyScope |
获取或设置一个值,该值指示元素是否定义其自己的访问键范围。 (继承自 UIElement) |
IsAudioOnly |
获取一个值,该值报告当前源媒体是否为仅限音频的媒体文件。 |
IsAudioOnlyProperty |
标识 IsAudioOnly 依赖属性。 |
IsDoubleTapEnabled |
获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsFullWindow |
获取一个值,该值指定 MediaElement 是否以全屏模式呈现。 设置此属性可启用或禁用全屏呈现。 |
IsFullWindowProperty |
标识 IsFullWindow 依赖属性。 |
IsHitTestVisible |
获取或设置此 UIElement 的包含区域是否可以为命中测试返回 true 值。 (继承自 UIElement) |
IsHoldingEnabled |
获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。 (继承自 UIElement) |
IsLoaded |
获取一个值,该值指示是否已将元素添加到元素树中并准备好进行交互。 (继承自 FrameworkElement) |
IsLooping |
获取或设置一个值,该值描述当前加载到媒体引擎中的媒体源在到达其末尾后是否应自动将位置设置为媒体开始。 |
IsLoopingProperty |
标识 IsLooping 依赖属性。 |
IsMuted |
获取或设置一个值,该值指示是否已静音。 |
IsMutedProperty |
标识 IsMuted 依赖属性。 |
IsRightTapEnabled |
获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsStereo3DVideo |
获取一个值,该值报告当前源媒体是否为立体声三维视频媒体文件。 |
IsStereo3DVideoProperty |
标识 IsStereo3DVideo 依赖属性。 |
IsTapEnabled |
获取或设置一个值,该值确定 点击 事件是否可以源自该元素。 (继承自 UIElement) |
KeyboardAcceleratorPlacementMode |
获取或设置一个值,该值指示控件 工具提示 是否显示其关联键盘快捷键的组合。 (继承自 UIElement) |
KeyboardAcceleratorPlacementTarget |
获取或设置一个值,该值指示显示快捷键组合的控件 工具提示 。 (继承自 UIElement) |
KeyboardAccelerators |
获取使用键盘调用操作的组合键的集合。 加速键通常分配给按钮或菜单项。
|
KeyTipHorizontalOffset |
获取或设置一个值,该值指示键提示相对于 UIElement 的左或右放置位置。 (继承自 UIElement) |
KeyTipPlacementMode |
获取或设置一个值,该值指示访问键提示相对于 UIElement 边界放置的位置。 (继承自 UIElement) |
KeyTipTarget |
获取或设置一个值,该值指示访问键提示所针对的元素。 (继承自 UIElement) |
KeyTipVerticalOffset |
获取或设置一个值,该值指示键提示相对于 UI 元素向上或向下放置的距离。 (继承自 UIElement) |
Language |
获取或设置适用于 FrameworkElement 以及对象表示形式和 UI 中当前 FrameworkElement 的所有子元素的本地化/全球化语言信息。 (继承自 FrameworkElement) |
Lights |
获取附加到此元素的 XamlLight 对象的集合。 (继承自 UIElement) |
ManipulationMode |
获取或设置用于 UIElement 行为和与手势交互的 ManipulationModes 值。 通过设置此值,可以在应用代码中处理此元素中的操作事件。 (继承自 UIElement) |
Margin |
获取或设置 FrameworkElement 的外部边距。 (继承自 FrameworkElement) |
Markers |
获取与当前加载的媒体文件关联的时间线标记的集合。 |
MaxHeight |
获取或设置 FrameworkElement 的最大高度约束。 (继承自 FrameworkElement) |
MaxWidth |
获取或设置 FrameworkElement 的最大宽度约束。 (继承自 FrameworkElement) |
MinHeight |
获取或设置 FrameworkElement 的最小高度约束。 (继承自 FrameworkElement) |
MinWidth |
获取或设置 FrameworkElement 的最小宽度约束。 (继承自 FrameworkElement) |
Name |
获取或设置 对象的标识名称。 当 XAML 处理器从 XAML 标记创建对象树时,运行时代码可以按此名称引用 XAML 声明的对象。 (继承自 FrameworkElement) |
NaturalDuration |
获取当前打开的媒体文件的持续时间。 |
NaturalDurationProperty |
标识 NaturalDuration 依赖属性。 |
NaturalVideoHeight |
获取与媒体关联的视频的高度。 |
NaturalVideoHeightProperty |
标识 NaturalVideoHeight 依赖属性。 |
NaturalVideoWidth |
获取与媒体关联的视频的宽度。 |
NaturalVideoWidthProperty |
标识 NaturalVideoWidth 依赖属性。 |
Opacity |
获取或设置对象的不透明度程度。 (继承自 UIElement) |
OpacityTransition |
获取或设置对 Opacity 属性的更改进行动画处理的 ScalarTransition。 (继承自 UIElement) |
Parent |
获取对象树中此 FrameworkElement 的父对象。 (继承自 FrameworkElement) |
PlaybackRate |
获取或设置媒体引擎的播放速率比率。 |
PlaybackRateProperty |
标识 PlaybackRate 依赖属性。 |
PlayToPreferredSourceUri |
注意 PlayToPreferredSourceUri 已弃用。 请改为调用 MediaElement.GetAsCastingSource ,并在返回的值上调用 CastingSource.PreferredSourceUri。 获取或设置首选媒体源的路径,该路径使“播放到”目标设备能够从其他位置(如云媒体服务器)流式传输受 DRM 保护的媒体内容。 |
PlayToPreferredSourceUriProperty |
标识 PlayToPreferredSourceUri 依赖属性。 |
PlayToSource |
获取在 MediaElement 用于“PlayTo”方案时传输的信息。 |
PlayToSourceProperty |
标识 PlayToSource 依赖属性。 |
PointerCaptures |
获取所有捕获的指针的集合,表示为 Pointer 值。 (继承自 UIElement) |
Position |
通过媒体的播放时间获取或设置进度的当前位置。 |
PositionProperty |
标识 Position 依赖属性。 |
PosterSource |
获取或设置在 MediaElement 加载转换状态期间用于占位符图像的图像源。 |
PosterSourceProperty |
标识 PosterSource 依赖属性。 |
Projection |
获取或设置呈现此元素时要应用的透视投影 (三维效果) 。 (继承自 UIElement) |
ProtectionManager |
获取或设置与此 MediaElement 关联的媒体内容保护的专用对象。 |
ProtectionManagerProperty |
标识 ProtectionManager 依赖属性。 |
RealTimePlayback |
获取或设置一个值,该值为实时通信方案配置 MediaElement 。 |
RealTimePlaybackProperty |
标识 RealTimePlayback 依赖属性。 |
RenderSize |
获取 UIElement 的最终呈现大小。 不建议使用 ,请参阅备注。 (继承自 UIElement) |
RenderTransform |
获取或设置影响 UIElement 呈现位置的转换信息。 (继承自 UIElement) |
RenderTransformOrigin |
获取或设置 RenderTransform 声明的任何可能的呈现转换相对于 UIElement 边界的原点。 (继承自 UIElement) |
RequestedTheme |
获取或设置 UIElement (使用的 UI 主题及其子元素) 资源确定。 使用 RequestedTheme 指定的 UI 主题可以替代应用级 RequestedTheme。 (继承自 FrameworkElement) |
Resources |
获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为 property 元素的 |
Rotation |
获取或设置顺时针旋转的角度(以度为单位)。 相对于 RotationAxis 和 CenterPoint 旋转。 影响元素的呈现位置。 (继承自 UIElement) |
RotationAxis |
获取或设置要围绕元素旋转的轴。 (继承自 UIElement) |
RotationTransition |
获取或设置对 Rotation 属性的更改进行动画处理的 ScalarTransition。 (继承自 UIElement) |
Scale |
获取或设置元素的刻度。 相对于元素的 CenterPoint 缩放。 影响元素的呈现位置。 (继承自 UIElement) |
ScaleTransition |
获取或设置对 Scale 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
Shadow |
获取或设置元素投射的阴影效果。 (继承自 UIElement) |
Source |
获取或设置 MediaElement 上的媒体源。 |
SourceProperty |
标识 Source 依赖属性。 |
Stereo3DVideoPackingMode |
获取或设置一个枚举值,该值确定当前媒体源的立体声三维视频帧打包模式。 |
Stereo3DVideoPackingModeProperty |
标识 Stereo3DVideoPackingMode 依赖属性。 |
Stereo3DVideoRenderMode |
获取或设置一个枚举值,该值确定当前媒体源的立体声三维视频呈现模式。 |
Stereo3DVideoRenderModeProperty |
标识 Stereo3DVideoRenderMode 依赖属性。 |
Stretch |
获取或设置一个值,该值描述应如何拉伸 MediaElement 以填充目标矩形。 |
StretchProperty |
标识 Stretch 依赖属性。 |
Style |
获取或设置在布局和呈现期间为此对象应用的实例 Style 。 (继承自 FrameworkElement) |
TabFocusNavigation |
获取或设置一个值,该值修改 Tabbing 和 TabIndex 对此控件的工作方式。 (继承自 UIElement) |
Tag |
获取或设置可用于存储有关此对象的自定义信息的任意对象值。 (继承自 FrameworkElement) |
Transform3D |
获取或设置呈现此元素时要应用的三维转换效果。 (继承自 UIElement) |
TransformMatrix |
获取或设置要应用于元素的转换矩阵。 (继承自 UIElement) |
Transitions |
获取或设置应用于 UIElement 的 Transition 样式元素的集合。 (继承自 UIElement) |
Translation |
获取或设置元素的 x、y 和 z 呈现位置。 (继承自 UIElement) |
TranslationTransition |
获取或设置对 Translation 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
TransportControls |
获取或设置媒体的传输控件。 |
Triggers |
获取为 FrameworkElement 定义的动画触发器的集合。 不常用。 请参阅“备注”。 (继承自 FrameworkElement) |
UIContext |
获取 元素的上下文标识符。 (继承自 UIElement) |
UseLayoutRounding |
获取或设置一个值,该值确定对象及其可视子树的呈现是否应使用使呈现与整个像素对齐的舍入行为。 (继承自 UIElement) |
VerticalAlignment |
获取或设置当 FrameworkElement 在父对象(如面板或项目控件)中组合时应用于它的垂直对齐特征。 (继承自 FrameworkElement) |
Visibility |
获取或设置 UIElement 的可见性。 不可见的 UIElement 不会呈现,也不会将其所需大小传达给布局。 (继承自 UIElement) |
Volume |
获取或设置媒体的音量。 |
VolumeProperty |
标识 Volume 依赖属性。 |
Width |
获取或设置 FrameworkElement 的宽度。 (继承自 FrameworkElement) |
XamlRoot |
获取或设置 |
XYFocusDownNavigationStrategy |
获取或设置一个值,该值指定用于确定向下导航的目标元素的策略。 (继承自 UIElement) |
XYFocusKeyboardNavigation |
获取或设置一个值,该值使用键盘方向箭头启用或禁用导航。 (继承自 UIElement) |
XYFocusLeftNavigationStrategy |
获取或设置一个值,该值指定用于确定左侧导航的目标元素的策略。 (继承自 UIElement) |
XYFocusRightNavigationStrategy |
获取或设置一个值,该值指定用于确定右侧导航的目标元素的策略。 (继承自 UIElement) |
XYFocusUpNavigationStrategy |
获取或设置一个值,该值指定用于确定向上导航的目标元素的策略。 (继承自 UIElement) |
方法
事件
AccessKeyDisplayDismissed |
在不应再显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyDisplayRequested |
当用户请求显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyInvoked |
当用户完成访问键序列时发生。 (继承自 UIElement) |
ActualThemeChanged |
在 ActualTheme 属性值更改时发生。 (继承自 FrameworkElement) |
BringIntoViewRequested |
在此元素或其后代之一上调用 StartBringIntoView 时发生。 (继承自 UIElement) |
BufferingProgressChanged |
BufferingProgress 属性更改时发生。 |
CharacterReceived |
输入队列接收到单个组合字符时发生。 (继承自 UIElement) |
ContextCanceled |
当上下文输入手势继续转换为操作手势时发生,以通知元素不应打开上下文浮出控件。 (继承自 UIElement) |
ContextRequested |
当用户完成上下文输入手势(例如右键单击)时发生。 (继承自 UIElement) |
CurrentStateChanged |
在 CurrentState 属性的值更改时发生。 |
DataContextChanged |
在 FrameworkElement.DataContext 属性的值更改时发生。 (继承自 FrameworkElement) |
DoubleTapped |
当此元素的命中测试区域发生其他未经处理的 DoubleTap 交互时发生。 (继承自 UIElement) |
DownloadProgressChanged |
在 DownloadProgress 属性更改时发生。 |
DragEnter |
当输入系统报告具有此元素作为目标的基础拖动事件时发生。 (继承自 UIElement) |
DragLeave |
当输入系统报告具有此元素作为原点的基础拖动事件时发生。 (继承自 UIElement) |
DragOver |
在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。 (继承自 UIElement) |
DragStarting |
在启动拖动操作时发生。 (继承自 UIElement) |
Drop |
在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。 (继承自 UIElement) |
DropCompleted |
结束此元素作为源的拖放操作时发生。 (继承自 UIElement) |
EffectiveViewportChanged |
在 FrameworkElement的有效视区 更改时发生。 (继承自 FrameworkElement) |
GettingFocus |
在 UIElement 接收焦点之前发生。 此事件是同步引发的,以确保在事件冒泡时不会移动焦点。 (继承自 UIElement) |
GotFocus |
在 UIElement 收到焦点时发生。 此事件是异步引发的,因此焦点可以在浮升完成之前再次移动。 (继承自 UIElement) |
Holding |
当此元素的命中测试区域发生其他未处理的 保持 交互时发生。 (继承自 UIElement) |
KeyDown |
在 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
KeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
LayoutUpdated |
由于与布局相关的属性更改值或刷新布局的其他操作,可视化树的布局更改时发生。 (继承自 FrameworkElement) |
Loaded |
在已构造 FrameworkElement 并将其添加到对象树中并准备好交互时发生。 (继承自 FrameworkElement) |
Loading |
当 FrameworkElement 开始加载时发生。 (继承自 FrameworkElement) |
LosingFocus |
在 UIElement 失去焦点之前发生。 此事件是同步引发的,以确保在事件冒泡时不会移动焦点。 (继承自 UIElement) |
LostFocus |
当 UIElement 失去焦点时发生。 此事件是异步引发的,因此焦点可以在浮升完成之前再次移动。 (继承自 UIElement) |
ManipulationCompleted |
在 UIElement 上的操作完成时发生。 (继承自 UIElement) |
ManipulationDelta |
当输入设备在操作期间更改位置时发生。 (继承自 UIElement) |
ManipulationInertiaStarting |
在输入设备在操作期间与 UIElement 对象失去联系和延迟开始时发生。 (继承自 UIElement) |
ManipulationStarted |
在输入设备在 UIElement 上开始操作时发生。 (继承自 UIElement) |
ManipulationStarting |
在首次创建操作处理器时发生。 (继承自 UIElement) |
MarkerReached |
在媒体播放期间遇到时间线标记时发生。 |
MediaEnded |
当 MediaElement 播放完音频或视频时发生。 |
MediaFailed |
当存在与媒体 源关联的错误时发生。 |
MediaOpened |
在已验证并打开媒体流并且已读取文件头时发生。 |
NoFocusCandidateFound |
当用户尝试通过选项卡或方向箭头 (移动焦点时发生) ,但焦点无法移动,因为没有在移动方向上找到焦点候选项。 (继承自 UIElement) |
PartialMediaFailureDetected |
当一个或多个流无法在包含多个流的内容中解码时发生。 |
PointerCanceled |
当进行接触的指针异常失去接触时发生。 (继承自 UIElement) |
PointerCaptureLost |
当指针捕获以前由此元素移动到另一个元素或其他位置时发生。 (继承自 UIElement) |
PointerEntered |
当指针进入此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerExited |
当指针离开此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerMoved |
当指针保持在此元素的命中测试区域内时,指针移动时发生。 (继承自 UIElement) |
PointerPressed |
当指针设备在此元素中启动 “按下” 操作时发生。 (继承自 UIElement) |
PointerReleased |
在释放之前启动 Press 操作的指针设备时发生,而此元素中。 请注意, 不保证按下 操作的结束会触发 PointerReleased 事件;其他事件可能会改为触发。 有关详细信息,请参阅备注。 (继承自 UIElement) |
PointerWheelChanged |
当指针滚轮的增量值更改时发生。 (继承自 UIElement) |
PreviewKeyDown |
当 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
PreviewKeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
ProcessKeyboardAccelerators |
按下 键盘快捷方式 (或快捷键) 时发生。 (继承自 UIElement) |
RateChanged |
在 PlaybackRate 或 DefaultPlaybackRate 值更改时发生。 |
RightTapped |
当指针位于 元素上时发生右点击输入刺激时发生。 (继承自 UIElement) |
SeekCompleted |
当所请求的查找操作的查找点已准备好播放时发生。 |
SizeChanged |
当 ActualHeight 或 ActualWidth 属性更改 FrameworkElement 上的值时发生。 (继承自 FrameworkElement) |
Tapped |
在此元素的命中测试区域上发生未经处理的 点击 交互时发生。 (继承自 UIElement) |
Unloaded |
当此对象不再连接到main对象树时发生。 (继承自 FrameworkElement) |
VolumeChanged |
当 Volume 属性的值更改时发生。 |