MediaPlayerElement 类

定义

表示使用 MediaPlayer 将音频和视频呈现给显示器的对象。

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class MediaPlayerElement : Control
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class MediaPlayerElement : Control
Public Class MediaPlayerElement
Inherits Control
<MediaPlayerElement .../>
继承
Object IInspectable DependencyObject UIElement FrameworkElement Control MediaPlayerElement
属性

Windows 要求

设备系列
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)

示例

提示

有关详细信息、设计指南和代码示例,请参阅 媒体播放

如果已安装 WinUI 2 库应用,请单击此处打开该应用并查看 MediaPlayerElement。

此代码创建一个 MediaPlayerElement,其中 AutoPlay 属性显式设置为 true并将源 设置为应用中包含的视频文件的路径。

<MediaPlayerElement Source="ms-appx:///Media/video1.mp4" AutoPlay="True" />

此示例创建启用了传输控件的 MediaPlayerElement。

<MediaPlayerElement x:Name="mediaPlayer"
              Source="ms-appx:///Media/video1.mp4"
              AreTransportControlsEnabled="True" />

此示例演示如何在 Popup 中使用 MediaPlayerElement。

<Grid>
    <Button Content="Show Popup" Click="ShowPopupClicked"/>
    <Popup x:Name="mediaPlayerPopup">
        <StackPanel Height="1400" Width="1400" Background="Blue">
            <MediaPlayerElement x:Name="mediaPlayer"
                  AreTransportControlsEnabled="True"
                  Source="ms-appx:///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(MediaPlayerElement.IsFullWindowProperty, OnMPEFullWindowChanged);
    base.OnNavigatedTo(e);
}

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    mediaPlayer.UnregisterPropertyChangedCallback(MediaPlayerElement.IsFullWindowProperty, token);
}

private void OnMPEFullWindowChanged(DependencyObject sender, DependencyProperty dp)
{
    MediaPlayerElement mpe = (MediaPlayerElement)sender;

    if (mpe != null && dp == MediaPlayerElement.IsFullWindowProperty)
    {
        if (mpe.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; }
}

注解

提示

有关详细信息、设计指南和代码示例,请参阅 媒体播放

有关 MediaPlayerElement 支持的媒体格式的信息,请参阅 支持的编解码器

体系结构概述

MediaPlayerElement 是一个轻型 XAML 控件,用作可靠 MediaPlayer 类的呈现图面,该类是 Windows.Media.Playback 命名空间的一部分。 大多数媒体功能都位于基础 MediaPlayer 类上,可通过 MediaPlayerElement.MediaPlayer 属性进行访问。 若要更改 MediaPlayerElement 实例的基础 MediaPlayer ,请使用 SetMediaPlayer 方法。

有关 MediaPlayer 类的详细信息,包括有关如何从 MediaElement 过渡到 MediaPlayerElement 的指南,请参阅 媒体播放 页面。

设置媒体源

将 MediaPlayerElement 的 Source 属性设置为指向音频或视频文件。 可以将它设置为 MediaSourceMediaPlaybackItemMediaPlaybackList。 媒体文件可以包含在应用包中,也可以包含在网络上。

默认情况下, 属性定义的媒体在加载 MediaPlayerElement 对象后不会立即播放。 若要自动启动媒体播放,请将 AutoPlay 属性设置为 true

下面介绍如何在 XAML 中创建 MediaPlayerElement,并将 设置为应用中包含的视频文件的路径, 并且 AutoPlay 属性显式设置为 true

<MediaPlayerElement Source="ms-appx:///Media/video1.mp4" AutoPlay="True"/>

下面介绍如何在代码中创建 MediaPlayerElement。

MediaPlayerElement mediaPlayerElement1 = new MediaPlayerElement();
mediaPlayerElement1.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Media/video1.mp4"));
mediaPlayerElement1.AutoPlay = true;

处理媒体事件

可以响应基础 MediaPlayer 上的常见媒体事件,例如 MediaOpenedMediaEndedMediaFailed。 如果已将源设置为 MediaPlaybackItemMediaPlaybackList,则应响应这些类上的媒体事件,因为它们提供了更多信息。

传输控件

AreTransportControlsEnabled 属性设置为以编程方式启用和禁用 MediaPlayerElement 的内置传输控件。 内置的传输控件提供用于播放、停止、暂停和查找媒体的 UI 以及用于音量、静音、全窗口、跟踪选择、隐藏式字幕和剩余时间的 UI。

可以通过将 AreTransportControlsEnabled 设置为 false,并在 MediaPlayer 上使用 PlayPause 方法来创建自己的媒体传输控件。 还可以通过使用基础 MediaPlayer (例如 PositionVolumeIsMutedIsLoopingEnabledPlaybackRate)来控制一组丰富的属性。

提示

为了获得更好的性能,请避免将数据绑定到 Position 属性,以反映频繁的位置更新 (例如使用进度栏) 。 请改用 DispatcherTimer 查询 Position 属性。

有关详细信息和示例,请参阅 创建自定义传输控件

全屏播放

使用 IsFullWindow 属性启用和禁用全屏呈现。 在全屏模式下,当不再检测到用户操作时,将自动阻止显示被停用。

备注

建议不要在 Popup 控件中使用 MediaPlayerElement。 如果 Popup 中托管的 MediaPlayerElement 切换到全屏模式, 则 Popup 将呈现在 MediaPlayerElement 顶部。 如果在 Popup 中使用 MediaPlayerElement,则应在 MediaPlayerElement 进入全屏模式时折叠 Popup ,并在 MediaPlayerElement 退出全屏模式时还原 弹出窗口 。 当 MediaPlayerElement.IsFullWindow 属性更改时,请使用 DependencyProperty.RegisterPropertyChangedCallback 通知。 有关示例,请参阅“示例”部分。

保持媒体播放

若要在 MediaPlayerElement 不在全屏模式下时阻止显示被停用,可以调用 DisplayRequest.RequestActive。 若要节省电源并延长电池寿命,应调用 DisplayRequest.RequestRelease 以在不再需要显示请求时立即将其释放。

在以下情况下应该释放显示请求:

  • 例如,由于用户操作、缓冲或有限带宽引起的调整需要暂停视频播放。
  • 播放停止。 例如,视频播放完毕或完成演示文稿。
  • 出现播放错误。 例如,存在网络连接问题或损坏的文件。

在这里,使用 PlaybackStateChanged 事件检测这些情况。 然后,使用 MediaPlayer.PlaybackSessionNaturalVideoHeight 属性来确定音频或视频文件是否正在播放,并且仅在播放视频时才使屏幕保持活动状态。

<MediaPlayerElement x:Name="mpe" Source="ms-appx:///Media/video1.mp4"/>
// Create this variable at a global scope. Set it to null.
private DisplayRequest appDisplayRequest = null;

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    mpe.MediaPlayer.PlaybackSession.PlaybackStateChanged += MediaPlayerElement_CurrentStateChanged;
    base.OnNavigatedTo(e);
}

private void MediaPlayerElement_CurrentStateChanged(MediaPlaybackSession sender, object args)
{
    MediaPlaybackSession playbackSession = sender as MediaPlaybackSession;
    if (playbackSession != null && playbackSession.NaturalVideoHeight != 0)
    {
        if(playbackSession.PlaybackState == MediaPlaybackState.Playing)
        {
            if(appDisplayRequest == null)
            {
                // This call creates an instance of the DisplayRequest object
                appDisplayRequest = new DisplayRequest();
                appDisplayRequest.RequestActive();
            }
        }
        else // PlaybackState is Buffering, None, Opening, or Paused.
        {
            if(appDisplayRequest != null)
            {
                // Deactivate the display request and set the var to null.
                appDisplayRequest.RequestRelease();
                appDisplayRequest = null;
            }
        }
    }
}

海报源

可以使用 PosterSource 属性在加载媒体之前或在仅音频媒体播放时提供视觉表示形式。 . PosterSource 是一个图像,如屏幕截图、电影海报或专辑封面,用于代替媒体。 PosterSource 将在以下情况下显示:

  • 在没有设置有效的源时。 例如, 未设置, 设置为 Null,或者源 (无效,就像 MediaFailed 事件触发) 的情况一样。
  • 加载媒体时。 例如,设置了有效的源,但 MediaOpened 事件尚未触发。
  • 当媒体流式传输到其他设备时。
  • 当媒体仅限音频时。

构造函数

MediaPlayerElement()

初始化 MediaPlayerElement 类的新实例。

属性

AccessKey

获取或设置此元素的访问键 (助记) 。

(继承自 UIElement)
AccessKeyScopeOwner

获取或设置一个源元素,该元素提供此元素的访问键范围,即使它不在源元素的可视化树中也是如此。

(继承自 UIElement)
ActualHeight

获取 FrameworkElement 的呈现高度。 请参阅“备注”。

(继承自 FrameworkElement)
ActualOffset

获取此 UIElement 相对于其父级的位置,该位置是在布局过程的排列传递期间计算的。

(继承自 UIElement)
ActualSize

获取此 UIElement 在布局过程的排列传递期间计算的大小。

(继承自 UIElement)
ActualTheme

获取元素当前使用的 UI 主题,该主题可能与 RequestedTheme 不同。

(继承自 FrameworkElement)
ActualWidth

获取 FrameworkElement 的呈现宽度。 请参阅“备注”。

(继承自 FrameworkElement)
AllowDrop

获取或设置一个值,该值确定此 UIElement 是否可以是拖放操作的目标。

(继承自 UIElement)
AllowFocusOnInteraction

获取或设置一个值,该值指示当用户与其交互时元素是否自动获取焦点。

(继承自 FrameworkElement)
AllowFocusWhenDisabled

获取或设置禁用的控件是否可以接收焦点。

(继承自 FrameworkElement)
AreTransportControlsEnabled

获取或设置一个值,该值确定是否启用标准传输控件。

AreTransportControlsEnabledProperty

标识 AreTransportControlsEnabled 依赖属性。

AutoPlay

获取或设置一个值,该值指示设置 Source 属性时媒体是否会自动开始播放。

AutoPlayProperty

标识 AutoPlay 依赖项属性。

Background

获取或设置提供控件背景的画笔。

(继承自 Control)
BackgroundSizing

获取或设置一个值,该值指示背景相对于此元素边框的扩展距离。

(继承自 Control)
BaseUri

获取一个统一资源标识符 (URI) ,该 URI 表示 XAML 构造对象的基统一资源标识符 (URI) 。 此属性适用于运行时统一资源标识符 (URI) 解析。

(继承自 FrameworkElement)
BorderBrush

获取或设置描述控件边框填充的画笔。

(继承自 Control)
BorderThickness

获取或设置控件的边框宽度。

(继承自 Control)
CacheMode

获取或设置一个值,该值指示应尽可能将呈现的内容缓存为复合位图。

(继承自 UIElement)
CanBeScrollAnchor

获取或设置一个值,该值指示 UIElement 是否可以成为滚动定位的候选项。

(继承自 UIElement)
CanDrag

获取或设置一个值,该值指示元素是否可以在拖放操作中作为数据拖动。

(继承自 UIElement)
CenterPoint

获取或设置元素的中心点,即发生旋转或缩放的点。 影响元素的呈现位置。

(继承自 UIElement)
CharacterSpacing

获取或设置字符之间的统一间距,单位为 1/1000 em。

(继承自 Control)
Clip

获取或设置用于定义 UIElement 内容的大纲的 RectangleGeometry

(继承自 UIElement)
CompositeMode

获取或设置一个属性,该属性在其父布局和窗口中声明元素的备用组合和混合模式。 这与混合 XAML/Microsoft DirectX UI 中涉及的元素相关。

(继承自 UIElement)
ContextFlyout

获取或设置与此元素关联的浮出控件。

(继承自 UIElement)
CornerRadius

获取或设置控件边框角的半径。

(继承自 Control)
DataContext

获取或设置 FrameworkElement 的数据上下文。 数据上下文的常见用途是 当 FrameworkElement 使用 {Binding} 标记扩展并参与数据绑定时。

(继承自 FrameworkElement)
DefaultStyleKey

获取或设置引用控件的默认样式的键。 自定义控件的作者使用此属性更改其控件使用的样式的默认值。

(继承自 Control)
DefaultStyleResourceUri

获取或设置包含控件默认样式的资源文件的路径。

(继承自 Control)
DesiredSize

获取此 UIElement 在布局过程的度量传递期间计算的大小。

(继承自 UIElement)
Dispatcher

获取与此对象关联的 CoreDispatcherCoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的设施,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
ElementSoundMode

获取或设置一个值,该值指定控件是否播放声音的首选项。

(继承自 Control)
ExitDisplayModeOnAccessKeyInvoked

获取或设置一个值,该值指定在调用访问密钥时是否关闭访问密钥显示。

(继承自 UIElement)
FlowDirection

获取或设置文本和其他 UI 元素在控制其布局的任何父元素中流动的方向。 此属性可以设置为 LeftToRightRightToLeft。 将 FlowDirection 设置为 RightToLeft 的任何元素会将对齐方式设置为右侧、从右到左的阅读顺序以及要从右向左流动的控件布局。

(继承自 FrameworkElement)
FocusState

获取一个值,该值指定此控件是否具有焦点,以及获取焦点的模式。

(继承自 Control)
FocusVisualMargin

获取或设置 FrameworkElement 焦点视觉对象的外部边距。

(继承自 FrameworkElement)
FocusVisualPrimaryBrush

获取或设置用于为 FrameworkElement 绘制或Reveal焦点视觉对象的外边框HighVisibility的画笔。

(继承自 FrameworkElement)
FocusVisualPrimaryThickness

获取或设置 FrameworkElement 的外边框或HighVisibilityReveal焦点视觉对象的粗细。

(继承自 FrameworkElement)
FocusVisualSecondaryBrush

获取或设置用于为 FrameworkElement 绘制或Reveal焦点视觉对象的内边框HighVisibility的画笔。

(继承自 FrameworkElement)
FocusVisualSecondaryThickness

获取或设置 FrameworkElementReveal或焦点视觉对象的内边框的HighVisibility粗细。

(继承自 FrameworkElement)
FontFamily

获取或设置用于显示控件中的文本的字体。

(继承自 Control)
FontSize

获取或设置此控件中文本的大小。

(继承自 Control)
FontStretch

获取或设置字体在屏幕上紧缩或加宽的程度。

(继承自 Control)
FontStyle

获取或设置呈现文本的样式。

(继承自 Control)
FontWeight

获取或设置指定字体的粗细。

(继承自 Control)
Foreground

获取或设置一个用于描述前景色的画笔。

(继承自 Control)
Height

获取或设置 FrameworkElement 的建议高度。

(继承自 FrameworkElement)
HighContrastAdjustment

获取或设置一个值,该值指示在启用高对比度主题时框架是否自动调整元素的视觉属性。

(继承自 UIElement)
HorizontalAlignment

获取或设置在布局父级(如面板或项控件)中组合时应用于 FrameworkElement 的水平对齐特征。

(继承自 FrameworkElement)
HorizontalContentAlignment

获取或设置控件内容的水平对齐方式。

(继承自 Control)
IsAccessKeyScope

获取或设置一个值,该值指示元素是否定义其自己的访问密钥范围。

(继承自 UIElement)
IsDoubleTapEnabled

获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。

(继承自 UIElement)
IsEnabled

获取或设置一个值,该值指示用户是否可以与控件交互。

(继承自 Control)
IsFocusEngaged

获取或设置一个值,该值指示焦点是否限制在控制边界内, (游戏板/远程交互) 。

(继承自 Control)
IsFocusEngagementEnabled

获取或设置一个值,该值指示是否可以在控制边界内限制焦点, (游戏板/远程交互) 。

(继承自 Control)
IsFullWindow

获取或设置一个值,该值指定 MediaPlayerElement 是否以全屏模式呈现。

IsFullWindowProperty

标识 IsFullWindow 依赖项属性。

IsHitTestVisible

获取或设置此 UIElement 的包含区域是否可以返回 true 值进行命中测试。

(继承自 UIElement)
IsHoldingEnabled

获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。

(继承自 UIElement)
IsLoaded

获取一个值,该值指示是否已将元素添加到元素树,并且已准备好进行交互。

(继承自 FrameworkElement)
IsRightTapEnabled

获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。

(继承自 UIElement)
IsTabStop

获取或设置一个值,该值指示是否将某个控件包含在 Tab 导航中。

(继承自 Control)
IsTapEnabled

获取或设置一个值,该值确定 点击 事件是否可以源自该元素。

(继承自 UIElement)
IsTextScaleFactorEnabled

获取或设置是否启用自动文本放大,以反映系统文本大小设置。

(继承自 Control)
KeyboardAcceleratorPlacementMode

获取或设置一个值,该值指示控件 工具提示 是否显示其关联的键盘加速器的键组合。

(继承自 UIElement)
KeyboardAcceleratorPlacementTarget

获取或设置一个值,该值指示显示快捷键组合的控件 工具提示

(继承自 UIElement)
KeyboardAccelerators

获取使用键盘调用操作的键组合的集合。

加速器通常分配给按钮或菜单项。

显示各种菜单项的键盘快捷键的菜单示例
显示各种菜单项的键盘快捷键的菜单示例

(继承自 UIElement)
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)
MaxHeight

获取或设置 FrameworkElement 的最大高度约束。

(继承自 FrameworkElement)
MaxWidth

获取或设置 FrameworkElement 的最大宽度约束。

(继承自 FrameworkElement)
MediaPlayer

获取用于呈现媒体的 MediaPlayer 实例。

MediaPlayerProperty

标识 MediaPlayer 依赖项属性。

MinHeight

获取或设置 FrameworkElement 的最小高度约束。

(继承自 FrameworkElement)
MinWidth

获取或设置 FrameworkElement 的最小宽度约束。

(继承自 FrameworkElement)
Name

获取或设置对象的标识名称。 当 XAML 处理器从 XAML 标记创建对象树时,运行时代码可以通过此名称引用 XAML 声明的对象。

(继承自 FrameworkElement)
Opacity

获取或设置对象的不透明度程度。

(继承自 UIElement)
OpacityTransition

获取或设置对 Opacity 属性的更改进行动画处理的 ScalarTransition。

(继承自 UIElement)
Padding

获取或设置控件内部的填充边距。

(继承自 Control)
Parent

获取对象树中此 FrameworkElement 的父对象。

(继承自 FrameworkElement)
PointerCaptures

获取所有捕获的指针集,表示为 指针 值。

(继承自 UIElement)
PosterSource

获取或设置在 MediaPlayerElement 加载转换状态期间用于占位符图像的图像源。

PosterSourceProperty

标识 PosterSource 依赖项属性。

Projection

获取或设置呈现此元素时要应用的透视投影 (三维效果) 。

(继承自 UIElement)
RenderSize

获取 UIElement 的最终呈现大小。 不建议使用,请参阅“备注”。

(继承自 UIElement)
RenderTransform

获取或设置影响 UIElement 呈现位置的转换信息。

(继承自 UIElement)
RenderTransformOrigin

获取或设置 由 RenderTransform 声明的任何可能呈现转换的原点,相对于 UIElement 的边界。

(继承自 UIElement)
RequestedTheme

获取或设置 UIElement (及其子元素) 用于资源确定的 UI 主题。 使用 RequestedTheme 指定的 UI 主题可以替代应用级 RequestedTheme

(继承自 FrameworkElement)
RequiresPointer

获取或设置 UI 元素是否支持鼠标模式,该模式模拟与非指针输入设备(如 Xbox 游戏板或远程控制)的指针交互体验。

(继承自 Control)
Resources

获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为属性元素的 frameworkElement.Resources 子对象元素。

(继承自 FrameworkElement)
Rotation

获取或设置顺时针旋转的角度(以度为单位)。 相对于 RotationAxis 和 CenterPoint 旋转。 影响元素的呈现位置。

(继承自 UIElement)
RotationAxis

获取或设置要围绕元素旋转的轴。

(继承自 UIElement)
RotationTransition

获取或设置 ScalarTransition,该 ScalarTransition 对 Rotation 属性的更改进行动画处理。

(继承自 UIElement)
Scale

获取或设置元素的规模。 相对于元素的 CenterPoint 进行缩放。 影响元素的呈现位置。

(继承自 UIElement)
ScaleTransition

获取或设置 Vector3Transition,用于对 Scale 属性的更改进行动画处理。

(继承自 UIElement)
Shadow

获取或设置元素强制转换的阴影效果。

(继承自 UIElement)
Source

获取或设置 MediaPlayerElement 上的媒体源。

SourceProperty

标识 依赖项属性。

Stretch

获取或设置一个值,该值描述如何拉伸 MediaPlayerElement 以填充目标矩形。

StretchProperty

标识 Stretch 依赖项属性。

Style

获取或设置在布局和呈现期间应用于此对象的实例 样式

(继承自 FrameworkElement)
TabFocusNavigation

获取或设置一个值,该值修改 Tabbing 和 TabIndex 对此控件的工作方式。

(继承自 UIElement)
TabIndex

获取或设置一个值,该值确定当用户通过按 Tab 键浏览控件时元素接收焦点的顺序。

(继承自 Control)
TabNavigation

获取或设置一个值,该值修改 Tabbing 和 TabIndex 对此控件的工作方式。

备注

对于Windows 10 创意者更新 (内部版本 10.0.15063) 及更新版本,UIElement 基类上提供了 TabFocusNavigation 属性,以在不使用 ControlTemplate 的选项卡序列中包含对象。

(继承自 Control)
Tag

获取或设置一个任意对象值,该值可用于存储有关此对象的自定义信息。

(继承自 FrameworkElement)
Template

获取或设置控件模板。 控件模板定义 UI 中控件的视觉外观,并在 XAML 标记中定义。

(继承自 Control)
Transform3D

获取或设置呈现此元素时要应用的三维转换效果。

(继承自 UIElement)
TransformMatrix

获取或设置要应用于元素的转换矩阵。

(继承自 UIElement)
Transitions

获取或设置应用于 UIElementTransition 样式元素的集合。

(继承自 UIElement)
Translation

获取或设置元素的 x、y 和 z 呈现位置。

(继承自 UIElement)
TranslationTransition

获取或设置 Vector3Transition,用于对 Translation 属性的更改进行动画处理。

(继承自 UIElement)
TransportControls

获取或设置媒体的传输控件。

Triggers

获取为 FrameworkElement 定义的动画的触发器的集合。 不常使用。 请参阅“备注”。

(继承自 FrameworkElement)
UIContext

获取元素的上下文标识符。

(继承自 UIElement)
UseLayoutRounding

获取或设置一个值,该值确定对象及其视觉子树的呈现是否应使用将呈现与整个像素对齐的舍入行为。

(继承自 UIElement)
UseSystemFocusVisuals

获取或设置一个值,该值指示控件是使用由系统绘制的焦点视觉对象还是控件模板中定义的视觉对象。

(继承自 Control)
VerticalAlignment

获取或设置在父对象(如面板或项控件)中组合时应用于 FrameworkElement 的垂直对齐特征。

(继承自 FrameworkElement)
VerticalContentAlignment

获取或设置控件内容的垂直对齐方式。

(继承自 Control)
Visibility

获取或设置 UIElement 的可见性。 不可见的 UIElement 不会呈现,并且不会将其所需的大小传达给布局。

(继承自 UIElement)
Width

获取或设置 FrameworkElement 的宽度。

(继承自 FrameworkElement)
XamlRoot

获取或设置正在查看此元素的 XamlRoot。

(继承自 UIElement)
XYFocusDown

获取或设置当用户按下方向盘 (D-pad) 向下时获取焦点的对象。

(继承自 Control)
XYFocusDownNavigationStrategy

获取或设置一个值,该值指定用于确定向下导航的目标元素的策略。

(继承自 UIElement)
XYFocusKeyboardNavigation

获取或设置使用键盘方向箭头启用或禁用导航的值。

(继承自 UIElement)
XYFocusLeft

获取或设置当用户按下方向盘 (D-pad) 左侧时获取焦点的对象。

(继承自 Control)
XYFocusLeftNavigationStrategy

获取或设置一个值,该值指定用于确定左侧导航的目标元素的策略。

(继承自 UIElement)
XYFocusRight

获取或设置当用户按下方向盘 (D-pad) 右侧时获取焦点的对象。

(继承自 Control)
XYFocusRightNavigationStrategy

获取或设置一个值,该值指定用于确定右侧导航的目标元素的策略。

(继承自 UIElement)
XYFocusUp

获取或设置当用户按下方向盘 (D-pad) 时获取焦点的对象。

(继承自 Control)
XYFocusUpNavigationStrategy

获取或设置一个值,该值指定用于确定向上导航的目标元素的策略。

(继承自 UIElement)

方法

AddHandler(RoutedEvent, Object, Boolean)

为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。 将 handledEventsToo 指定为 true ,以便即使在其他位置处理事件,也调用提供的处理程序。

(继承自 UIElement)
ApplyTemplate()

加载相关的控件模板,以便可以引用其部件。

(继承自 Control)
Arrange(Rect)

定位子对象并确定 UIElement 的大小。 为其子元素实现自定义布局的父对象应从其布局重写实现中调用此方法,以形成递归布局更新。

(继承自 UIElement)
ArrangeOverride(Size)

提供布局的“排列”传递的行为。 类可以重写此方法以定义自己的“排列”传递行为。

(继承自 FrameworkElement)
CancelDirectManipulations()

取消任何包含当前 UIElementScrollViewer 父级上 (系统定义的平移/缩放) 正在进行的直接操作处理。

(继承自 UIElement)
CapturePointer(Pointer)

将指针捕获设置为 UIElement。 捕获后,只有具有捕获的元素才会触发与指针相关的事件。

(继承自 UIElement)
ClearValue(DependencyProperty)

清除依赖属性的本地值。

(继承自 DependencyObject)
FindName(String)

检索具有指定标识符名称的对象。

(继承自 FrameworkElement)
FindSubElementsForTouchTargeting(Point, Rect)

使 UIElement 子类能够公开有助于解析触摸定位的子元素。

(继承自 UIElement)
Focus(FocusState)

尝试对控件设置焦点。

(继承自 Control)
GetAnimationBaseValue(DependencyProperty)

返回为依赖属性建立的任何基值,如果动画不处于活动状态,将适用该基值。

(继承自 DependencyObject)
GetBindingExpression(DependencyProperty)

返回表示指定属性上的绑定的 BindingExpression

(继承自 FrameworkElement)
GetChildrenInTabFocusOrder()

使 UIElement 子类能够公开参与 Tab 焦点的子元素。

(继承自 UIElement)
GetTemplateChild(String)

检索实例化的 ControlTemplate 可视化树中的命名元素。

(继承自 Control)
GetValue(DependencyProperty)

DependencyObject 返回依赖属性的当前有效值。

(继承自 DependencyObject)
GoToElementStateCore(String, Boolean)

在派生类中实现时,可以在代码中为控件模板启用可视化树的按状态构造,而不是在控件启动时加载所有状态的 XAML。

(继承自 FrameworkElement)
InvalidateArrange()

使 UIElement 的排列状态 (布局) 无效。 失效后, UIElement 将更新其布局,这将异步发生。

(继承自 UIElement)
InvalidateMeasure()

使 UIElement 的度量状态 (布局) 无效。

(继承自 UIElement)
InvalidateViewport()

使用于计算有效视区UIElement 的视区状态失效。

(继承自 FrameworkElement)
Measure(Size)

汇报 UIElementDesiredSize。 通常,为布局子级实现自定义布局的对象从自己的 MeasureOverride 实现调用此方法,以形成递归布局更新。

(继承自 UIElement)
MeasureOverride(Size)

提供布局周期的“度量值”传递的行为。 类可以重写此方法以定义其自己的“度量值”传递行为。

(继承自 FrameworkElement)
OnApplyTemplate()

每当应用程序代码或内部进程 ((例如重新生成布局)) 调用 ApplyTemplate 时调用。 简言之,这意味着在应用中显示 UI 元素之前调用该方法。 重写此方法以影响类的默认模板后逻辑。

(继承自 FrameworkElement)
OnBringIntoViewRequested(BringIntoViewRequestedEventArgs)

发生 BringIntoViewRequested 事件之前调用。

(继承自 UIElement)
OnCharacterReceived(CharacterReceivedRoutedEventArgs)

CharacterReceived 事件发生之前调用。

(继承自 Control)
OnCreateAutomationPeer()

在派生类中实现时,返回 Microsoft UI 自动化基础结构的特定于类的 AutomationPeer 实现。

(继承自 UIElement)
OnDisconnectVisualChildren()

重写此方法,实现从特定于类的内容或子属性中删除项时布局和逻辑的行为方式。

(继承自 UIElement)
OnDoubleTapped(DoubleTappedRoutedEventArgs)

在发生 DoubleTapped 事件之前调用。

(继承自 Control)
OnDragEnter(DragEventArgs)

DragEnter 事件发生之前调用。

(继承自 Control)
OnDragLeave(DragEventArgs)

发生 DragLeave 事件之前调用。

(继承自 Control)
OnDragOver(DragEventArgs)

发生 DragOver 事件之前调用。

(继承自 Control)
OnDrop(DragEventArgs)

Drop 事件发生之前调用。

(继承自 Control)
OnGotFocus(RoutedEventArgs)

发生 GotFocus 事件之前调用。

(继承自 Control)
OnHolding(HoldingRoutedEventArgs)

发生控股 事件之前调用。

(继承自 Control)
OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs)

在应用中处理 键盘快捷方式 (或快捷键) 时调用。 重写此方法以处理在调用键盘加速器时应用响应的方式。

(继承自 UIElement)
OnKeyDown(KeyRoutedEventArgs)

发生 KeyDown 事件之前调用。

(继承自 Control)
OnKeyUp(KeyRoutedEventArgs)

发生 KeyUp 事件之前调用。

(继承自 Control)
OnLostFocus(RoutedEventArgs)

发生 LostFocus 事件之前调用。

(继承自 Control)
OnManipulationCompleted(ManipulationCompletedRoutedEventArgs)

操作完成 事件发生之前调用。

(继承自 Control)
OnManipulationDelta(ManipulationDeltaRoutedEventArgs)

ManipulationDelta 事件发生之前调用。

(继承自 Control)
OnManipulationInertiaStarting(ManipulationInertiaStartingRoutedEventArgs)

ManipulationInertiaStarting 事件发生之前调用。

(继承自 Control)
OnManipulationStarted(ManipulationStartedRoutedEventArgs)

ManipulationStarted 事件发生之前调用。

(继承自 Control)
OnManipulationStarting(ManipulationStartingRoutedEventArgs)

ManipulationStarting 事件发生之前调用。

(继承自 Control)
OnPointerCanceled(PointerRoutedEventArgs)

发生 PointerCanceled 事件之前调用。

(继承自 Control)
OnPointerCaptureLost(PointerRoutedEventArgs)

发生 PointerCaptureLost 事件之前调用。

(继承自 Control)
OnPointerEntered(PointerRoutedEventArgs)

发生 PointerEntered 事件之前调用。

(继承自 Control)
OnPointerExited(PointerRoutedEventArgs)

发生 PointerExited 事件之前调用。

(继承自 Control)
OnPointerMoved(PointerRoutedEventArgs)

发生 PointerMoved 事件之前调用。

(继承自 Control)
OnPointerPressed(PointerRoutedEventArgs)

发生 PointerPressed 事件之前调用。

(继承自 Control)
OnPointerReleased(PointerRoutedEventArgs)

发生 PointerReleased 事件之前调用。

(继承自 Control)
OnPointerWheelChanged(PointerRoutedEventArgs)

发生 PointerWheelChanged 事件之前调用。

(继承自 Control)
OnPreviewKeyDown(KeyRoutedEventArgs)

发生 PreviewKeyDown 事件之前调用。

(继承自 Control)
OnPreviewKeyUp(KeyRoutedEventArgs)

发生 PreviewKeyUp 事件之前调用。

(继承自 Control)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

在应用中处理 键盘快捷方式 (或快捷键) 之前调用。 每当应用程序代码或内部进程调用 ProcessKeyboardAccelerators 时调用。 重写此方法以影响默认加速器处理。

(继承自 UIElement)
OnRightTapped(RightTappedRoutedEventArgs)

发生 RightTapped 事件之前调用。

(继承自 Control)
OnTapped(TappedRoutedEventArgs)

发生点击 事件之前调用。

(继承自 Control)
PopulatePropertyInfo(String, AnimationPropertyInfo)

定义可以进行动画处理的属性。

(继承自 UIElement)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

在派生类中重写时,定义可以进行动画处理的属性。

(继承自 UIElement)
ReadLocalValue(DependencyProperty)

如果设置了本地值,则返回依赖属性的本地值。

(继承自 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

注册一个通知函数,用于侦听此 DependencyObject 实例上对特定 DependencyProperty 所做的更改。

(继承自 DependencyObject)
ReleasePointerCapture(Pointer)

释放此 UIElement 捕获一个特定指针的指针捕获。

(继承自 UIElement)
ReleasePointerCaptures()

释放此元素保留的所有指针捕获。

(继承自 UIElement)
RemoveFocusEngagement()

从控件边界释放焦点,该控件具有焦点参与 (游戏板/远程交互) 。

(继承自 Control)
RemoveHandler(RoutedEvent, Object)

从此 UIElement 中删除指定的路由事件处理程序。 通常由 AddHandler 添加有问题的处理程序。

(继承自 UIElement)
SetBinding(DependencyProperty, BindingBase)

使用提供的绑定对象将绑定附加到 FrameworkElement

(继承自 FrameworkElement)
SetMediaPlayer(MediaPlayer)

设置用于呈现媒体的 MediaPlayer 实例。

SetValue(DependencyProperty, Object)

设置 DependencyObject 上的依赖属性的本地值。

(继承自 DependencyObject)
StartAnimation(ICompositionAnimationBase)

开始元素上的指定动画。

(继承自 UIElement)
StartBringIntoView()

启动对 XAML 框架的请求,以将元素置于它包含的任何可滚动区域中的视图中。

(继承自 UIElement)
StartBringIntoView(BringIntoViewOptions)

启动对 XAML 框架的请求,以使用指定的选项将元素引入视图。

(继承自 UIElement)
StartDragAsync(PointerPoint)

启动拖放操作。

(继承自 UIElement)
StopAnimation(ICompositionAnimationBase)

停止元素上的指定动画。

(继承自 UIElement)
TransformToVisual(UIElement)

返回一个转换对象,该对象可用于将坐标从 UIElement 转换为指定的对象。

(继承自 UIElement)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

尝试通过搜索 UIElement 的整个可视化树来调用 键盘快捷方式 (或快捷键)

(继承自 UIElement)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。

(继承自 DependencyObject)
UpdateLayout()

确保 正确更新 UIElement 的子对象的所有位置以进行布局。

(继承自 UIElement)

事件

AccessKeyDisplayDismissed

当不再显示访问密钥时发生。

(继承自 UIElement)
AccessKeyDisplayRequested

当用户请求显示访问密钥时发生。

(继承自 UIElement)
AccessKeyInvoked

当用户完成访问密钥序列时发生。

(继承自 UIElement)
ActualThemeChanged

当 ActualTheme 属性值发生更改时发生。

(继承自 FrameworkElement)
BringIntoViewRequested

在对此元素或其子代之一调用 StartBringIntoView 时发生。

(继承自 UIElement)
CharacterReceived

当输入队列接收单个组合字符时发生。

(继承自 UIElement)
ContextCanceled

当上下文输入手势继续进入操作手势时发生,以通知元素不应打开上下文浮出控件。

(继承自 UIElement)
ContextRequested

当用户完成上下文输入手势(例如右键单击)时发生。

(继承自 UIElement)
DataContextChanged

FrameworkElement.DataContext 属性的值更改时发生。

(继承自 FrameworkElement)
DoubleTapped

在此元素的命中测试区域发生其他未经处理的 DoubleTap 交互时发生。

(继承自 UIElement)
DragEnter

当输入系统报告具有此元素作为目标的基础拖动事件时发生。

(继承自 UIElement)
DragLeave

当输入系统报告具有此元素作为原点的基础拖动事件时发生。

(继承自 UIElement)
DragOver

在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。

(继承自 UIElement)
DragStarting

在启动拖动操作时发生。

(继承自 UIElement)
Drop

在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。

(继承自 UIElement)
DropCompleted

在结束源时使用此元素执行拖放操作时发生。

(继承自 UIElement)
EffectiveViewportChanged

FrameworkElement的有效视区 更改时发生。

(继承自 FrameworkElement)
FocusDisengaged

当焦点从控制边界释放时发生, (游戏板/远程交互) 。

(继承自 Control)
FocusEngaged

当焦点限制在控制边界内时发生, (游戏板/远程交互) 。

(继承自 Control)
GettingFocus

UIElement 接收焦点之前发生。 此事件同步引发,以确保事件在冒泡时不会移动焦点。

(继承自 UIElement)
GotFocus

UIElement 接收焦点时发生。 此事件异步引发,因此焦点可以在浮泡完成之前再次移动。

(继承自 UIElement)
Holding

在此元素的命中测试区域中发生其他未经处理的 保留 交互时发生。

(继承自 UIElement)
IsEnabledChanged

当 IsEnabled 属性更改时发生。

(继承自 Control)
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)
NoFocusCandidateFound

当用户尝试通过选项卡或方向箭头) 移动焦点 (时发生,但焦点不会移动,因为没有在移动方向找到任何焦点候选项。

(继承自 UIElement)
PointerCanceled

当使联系人异常失去联系人的指针时发生。

(继承自 UIElement)
PointerCaptureLost

当此元素以前持有的指针捕获移动到另一个元素或其他地方时发生。

(继承自 UIElement)
PointerEntered

当指针进入此元素的命中测试区域时发生。

(继承自 UIElement)
PointerExited

当指针离开此元素的命中测试区域时发生。

(继承自 UIElement)
PointerMoved

当指针在指针保留在此元素的命中测试区域中时发生。

(继承自 UIElement)
PointerPressed

当指针设备在此元素中启动 操作时发生。

(继承自 UIElement)
PointerReleased

在此元素中释放之前启动 按下 操作的指针设备时发生。 请注意, 无法保证按下 操作的末尾触发 PointerReleased 事件;其他事件可能会触发。 有关详细信息,请参阅“备注”。

(继承自 UIElement)
PointerWheelChanged

当指针滚轮的增量值更改时发生。

(继承自 UIElement)
PreviewKeyDown

UIElement 具有焦点时按下键盘键时发生。

(继承自 UIElement)
PreviewKeyUp

UIElement 具有焦点时释放键盘键时发生。

(继承自 UIElement)
ProcessKeyboardAccelerators

按下 键盘快捷方式 (或快捷键) 时发生。

(继承自 UIElement)
RightTapped

当指针位于元素上方时发生右点击输入刺激时发生。

(继承自 UIElement)
SizeChanged

ActualHeightActualWidth 属性值在 FrameworkElement 上更改时发生。

(继承自 FrameworkElement)
Tapped

在此元素的命中测试区域中发生其他未经处理的 Tap 交互时发生。

(继承自 UIElement)
Unloaded

当此对象不再连接到主对象树时发生。

(继承自 FrameworkElement)

适用于

另请参阅