Image 类

定义

表示显示图像的控件。 通过使用多种支持的格式引用图像文件来指定图像源。 还可以使用流设置图像源。 有关支持的图像源格式的列表,请参阅“备注”。

public ref class Image sealed : FrameworkElement
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Image final : FrameworkElement
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Image : FrameworkElement
Public NotInheritable Class Image
Inherits FrameworkElement
<Image .../>
继承
Object Platform::Object IInspectable DependencyObject UIElement FrameworkElement Image
属性

示例

Tip

有关详细信息、设计指南和代码示例,请参阅 图像和图像画笔

WinUI 3 示例集应用程序包括大多数 WinUI 3 控件、特性和功能的交互式示例。 从 Microsoft 应用商店 获取应用,或在 GitHub 上获取源代码。

注解

图像文件格式

图像可以显示以下图像文件格式:

  • 联合摄影专家组(JPEG)
  • 可移植网络图形 (PNG)
  • 位图 (BMP)
  • 图形交换格式 (GIF)
  • 标记的图像文件格式 (TIFF)
  • JPEG XR
  • 图标 (ICO)
  • 可缩放的向量图形 (SVG)

Image 元素支持动画图形交换格式(GIF)图像。 使用 BitmapImage 作为图像 时,可以访问 BitmapImage API 来控制动画图形交换格式(GIF)图像的播放。 有关详细信息,请参阅 BitmapImage 类页上的“备注”。

Image 元素通过 SvgImageSource 支持静态可缩放矢量图形(SVG)图像。 SvgImageSource 支持 SVG 规范中的安全静态模式,不支持动画或交互。 Direct2D 提供基础 SVG 呈现支持,有关特定 SVG 元素和属性支持的详细信息,请参阅 SVG 支持。 若要详细了解如何在应用中插入 SVG,请访问 SvgImageSource 类页。

设置 Image.Source

若要设置图像显示的图像源文件,可以在 XAML 或代码中设置其 Source 属性。 下面是在 XAML 中设置 的简单示例:

<Image Width="200" Source="Images/myimage.png"/>

此用法通过统一资源标识符(URI)设置 ,这是 XAML 启用的快捷方式。 请注意,此处的统一资源标识符(URI)似乎是相对统一资源标识符(URI):支持部分统一资源标识符(URI)是另一个 XAML 快捷方式。 此统一资源标识符(URI)的根目录是应用项目的基文件夹。 这通常是从中加载包含图像标记的 XAML 文件所在的位置。 在此示例中,图像源文件位于应用的文件结构内的 Images 子文件夹中。

设置 Source 属性本质上是一个异步操作。 因为它是一个属性,所以没有可等待的语法,但在大多数情况下,你不需要与图像加载的异步方面进行交互。 框架将等待图像源返回,并在图像源文件可用并解码时启动布局周期。

将源设置为无法解析为有效图像源文件的统一资源标识符(URI)值不会引发异常。 而是触发 ImageFailed 事件。 可以编写 ImageFailed 处理程序并将其附加到 Image 对象,并可能在事件数据中使用 ErrorMessage 来确定失败的性质。 解码错误也可以触发 ImageFailed。 如果要验证图像源文件是否已正确加载,则可以处理 Image 元素上的 ImageOpened 事件。

通常使用作为应用下载包一部分包含的图像源文件。 对于大型文件,如果在首次使用源时对图像源文件进行解码,则可能存在非常小的延迟。 有关应用资源以及如何在应用包中打包图像源文件的详细信息,请参阅 定义应用资源

还可以使用不属于应用的图像源文件,例如来自外部服务器的图像。 这些映像由内部 HTTP 请求下载,然后解码。 如果图像源文件是一个大文件,或者存在连接问题,则可能会在图像元素中显示外部图像之前出现延迟。

使用代码设置 Image.Source

如果使用代码创建 Image 对象,请调用默认构造函数,然后设置 Image.Source 属性。 设置 Image.Source 属性需要 BitmapImage 类的实例,还必须构造该实例。 如果图像源是统一资源标识符(URI)引用的文件,请使用采用统一资源标识符(URI)参数的 BitmapImage 构造函数。 引用本地内容时,必须在用作 BitmapImage 构造函数参数的绝对统一资源标识符(URI)中包含 ms-appx:方案。 在代码中,无法获取用于合并相对统一资源标识符(URI)部分和 ms-appx 的 处理快捷方式:如果将 Source 指定为 XAML 属性,则会自动实现的方案。 相反,必须使用适当的方案显式构造绝对统一资源标识符(URI)。 通常使用 ms-appx: 方案作为应用的一部分打包的图像文件。

Tip

如果使用 C# ,则可以获取 Image 的 BaseUri 属性,并将其作为 System.Uri 构造函数的 baseUri 参数传递,这些构造函数将统一资源标识符 (URI) 基位置和该位置内的相对路径组合在一起。

下面是在 C# 中设置 Image.Source 的示例。 在此示例中,Image 对象是在 XAML 中创建的,但没有源或任何其他属性值;而是在从 XAML 加载图像时在运行时提供这些值。

void Image_Loaded(object sender, RoutedEventArgs e)
{
    Image img = sender as Image; 
    BitmapImage bitmapImage = new BitmapImage();
    img.Width = bitmapImage.DecodePixelWidth = 80; //natural px width of image source
    // don't need to set Height, system maintains aspect ratio, and calculates the other
    // dimension, so long as one dimension measurement is provided
    bitmapImage.UriSource = new Uri(img.BaseUri,"Assets/StoreLogo.png");
    img.Source = bitmapImage;
}

对图像源使用流源

如果图像源是流,则必须编写用于设置图像实例以使用该流的代码。 这不能单独在 XAML 中完成。 构造要使用的映像,或引用现有映像实例(该实例可能已在 XAML 标记中定义,但没有源)。 然后使用 BitmapImageasync SetSourceAsync 方法定义流中的图像信息,传递要用作 streamSource 参数的流。 对图像源使用流相当常见。 例如,如果应用允许用户使用 FileOpenPicker 控件选择图像文件,则你获取的对象表示用户选择的文件可以作为流打开,但不提供对文件的统一资源标识符(URI)引用。

在此示例中,代码已可等待,因为它正在等待用户选择文件,并且仅在发生该文件后运行。 要使用的流来自 StorageFile.OpenAsync 后,从异步选取器操作返回 StorageFile 实例。

FileOpenPicker open = new FileOpenPicker(); 
// Open a stream for the selected file 
StorageFile file = await open.PickSingleFileAsync(); 
// Ensure a file was selected 
if (file != null) 
{ 
    using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
    { 
        // Set the image source to the selected bitmap 
         BitmapImage bitmapImage = new BitmapImage(); 
         bitmapImage.DecodePixelWidth = 600; //match the target Image.Width, not shown
         await bitmapImage.SetSourceAsync(fileStream); 
         Scenario2Image.Source = bitmapImage; 
    } 
}

Tip

如果使用 C#,流可以使用 System.IO.Stream 类型,你可能熟悉以前的Microsoft .NET编程体验。 可以将 AsStream 扩展方法作为IRandomAccessStream(从Windows Runtime API 获取)。 前面的示例使用 IRandomAccessStream 进行参数传递,不需要使用 AsStream。 但是,如果需要操作流, AsStream 会作为一个实用工具转换为 System.IO.Stream (如果需要)。

有关更多示例代码 ,请参阅 XAML 图像示例

图像文件和性能

大型图像文件可能会影响性能,因为它们会加载到内存中。 如果你引用了一个图像文件,其中你知道源文件是大型高分辨率图像,但你的应用在 UI 区域中显示它,其大小小于图像的自然大小,则应设置 DecodePixelWidth 属性或 DecodePixelHeight通过 DecodePixel* 属性,可以将信息直接传递给特定于格式的编解码器,编解码器可以使用此信息更高效地解码,以及更小的内存占用情况。 将 DecodePixelWidth 设置为希望应用实际显示的区域的相同像素宽度。 换句话说,BitmapImage 源的 DecodePixelWidth 应与显示该源的图像控件的 WidthActualWidth 相同。

可以设置 DecodePixelWidth,也可以设置 DecodePixelHeight。 如果设置这两个属性之一,系统将计算匹配属性以保持正确的纵横比。 还可以设置这两个属性,但通常应使用保持该纵横比的值。 如果要更改纵横比,有更好的方法可以执行此操作,例如使用 TranslateTransform 作为 RenderTransform

若要在 XAML 中设置 DecodePixelWidth (或 DecodePixelHeight),必须使用稍微更详细的 XAML 语法,该语法将显式 BitmapImage 元素作为属性元素值,如下所示:

<Image>
  <Image.Source>
    <BitmapImage DecodePixelWidth="200" UriSource="images/myimage.png"/>
  </Image.Source>
</Image>

DecodePixelWidth (或 DecodePixelHeight)是 BitmapImage 的属性,因此需要显式 BitmapImage XAML 对象元素才能将 DecodePixel* 属性设置为 XAML 中的属性。

如果要在代码中创建图像实例,则可能已经将 BitmapImage 实例创建为源属性提供的值,因此只需在设置 UriSource 属性之前在 BitmapImage 实例上设置 DecodePixelWidth(或 DecodePixelHeight)。 DecodePixelType 属性还影响解码操作解释像素值的方式。

若要防止图像多次解码,请从统一资源标识符(URI)分配图像源属性,而不是随时使用内存流。 XAML 框架可以将多个位置的同一统一资源标识符(URI)与一个解码的图像相关联,但即使它们包含相同的数据,它也不能对多个内存流执行相同的操作。

可以通过将所有关联的 Image.Source 值设置为 null,从映像缓存中删除图像文件。

有关 Image 类和性能的详细信息,请参阅 优化动画和媒体

图像文件编码和解码

映像文件的基础编解码器支持由Windows映像组件 (WIC) API 提供。 有关编解码器记录的特定图像格式的详细信息,请参阅 本机 WIC 编解码器

Image、 BitmapImageBitmapSource 的 API 不包含用于对媒体格式进行编码和解码的任何专用方法。 所有解码操作都内置为在设置或重置源时发生的操作。 这使得类更易于用于构造 UI,因为它们具有一组默认支持的源文件格式和解码行为。 BitmapImage 等类公开一些解码选项和逻辑,作为 ImageOpenedImageFailed 事件的事件数据的一部分。 如果需要高级图像文件解码或图像编码,则应使用 Windows 中的 API。Graphics.Imaging 命名空间。 如果你的应用方案涉及图像文件格式转换,或者操作图像,用户可以将结果另存为文件,则可能需要这些 API。 Windows的Windows映像组件(WIC)组件也支持编码 API。

图像 宽度和高度

Image 类从 FrameworkElement 继承 WidthHeight 属性,这些属性可能会控制图像控件在 UI 中显示时呈现的大小。 如果未设置 宽度高度,则宽度和高度由图像源的自然大小决定。 例如,如果加载高度为 300 像素且宽为 400 像素的位图图像(如其源文件格式记录),则图像控件计算其自然大小时,这些度量用于宽度和高度。 可以在图像呈现后在运行时检查 ActualHeightActualWidth 以获取度量信息。 或者,可以在图像呈现之前立即处理 ImageOpened 并检查图像文件属性,例如 PixelHeightPixelWidth

如果仅设置一个 WidthHeight 属性,但不能同时设置这两个属性,则系统可以使用该维度作为指导并计算另一个维度,从而保留纵横比。 如果不确定源文件维度,请选择在布局方案中控制最重要的维度,让系统计算其他维度,然后容器的布局行为通常会调整布局以适应。

如果未设置 Width 和/或 Height,并将图像保留为其自然大小,则图像的 Stretch 属性可以控制图像源文件将填充指定为 WidthHeight 的空间的方式。 默认 的 Stretch 值为 Uniform,它将图像适合布局容器时保留纵横比。 如果容器的维度没有相同的纵横比,则会有空白空间,该空间仍然是图像的一部分,但不会显示任何图像像素,至少在使用 一值 拉伸时。 UniformToFill for Stretch 不会留空空间,但如果尺寸不同,可能会剪辑图像。 Stretch填充不会留空空间,但可能会更改纵横比。 可以试验这些值,查看布局方案中最适合图像显示的内容。 此外,请注意,某些布局容器可能会调整没有特定 宽度高度 的图像的大小,以填充整个布局空间,在这种情况下,可以选择在图像或容器上设置特定大小。

NineGrid

如果图像具有不应统一缩放的区域,则使用 NineGrid 技术是调整其大小与显示区域不同的图像的另一个选项。 例如,可以使用一个背景图像,该背景图像的固有边框只应在一个维度中拉伸,而角根本不应该拉伸,但图像中心可以拉伸以适应这两个维度中的布局要求。 有关详细信息,请参阅 NineGrid

图像的资源限定和本地化

图像 源文件和缩放

你应该以多个建议的大小创建图像源,以确保你的应用在 Windows 缩放时看起来很棒。 为图像指定 时,可以为将正确资源用于设备特定缩放因子的资源使用命名约定。 这是由应用在运行时自动确定的。 有关要使用的命名约定的详细信息,请参阅 快速入门:使用文件或映像资源

有关如何正确设计图像进行缩放的详细信息,请参阅 布局和缩放的 UX 指南

使用未限定的资源

非限定资源是一种技术,你可以在其中使用基本资源引用默认资源,资源管理过程可以自动查找等效的本地化资源。 可以使用自动处理来访问具有当前规模和区域性限定符的不合格资源,或者可以将 ResourceManagerResourceMap 与区域性和规模限定符配合使用,以便直接获取资源。 有关详细信息,请参阅 资源管理系统

Image 的 FlowDirection

如果将 FlowDirection 设置为 Image 的 RightToLeft ,则图像的视觉内容水平翻转。 但是,Image 元素不会从任何父元素继承 FlowDirection 值。 通常,你只需要图像翻转行为,这些图像与布局相关,但不一定是嵌入文本或其他组件对右向左受众没有意义翻转的元素。 若要获取图像翻转行为,必须在专门将 Image 元素上的 FlowDirection 元素设置为 RightToLeft,或在代码隐藏中设置 FlowDirection 属性。 请考虑通过 x:Uid 指令标识 Image 元素,并将 FlowDirection 值指定为Windows Runtime资源,以便本地化专家以后无需更改 XAML 或代码即可更改此值。

Image 类和辅助功能

Image 类不是真正的控件类,因为它不是 Control 的后代类。 不能将焦点调用到 Image 元素,也不能将 Image 元素置于选项卡序列中。 有关在 UI 中使用图像和 Image 元素的辅助功能方面的详细信息,请参阅 基本辅助功能信息

图像资源

资源可以使用资源限定符模式根据特定于设备的缩放来加载不同的资源。 如果应用运行时缩放因子发生更改,则会自动重新评估最初为应用检索的任何资源。 此外,当该资源是 Image 对象的映像源时,将触发其中一个源加载事件(ImageOpenedImageFailed),因为系统请求新资源,然后将其应用到 映像。 当有多个可用时,用户将应用移到其他监视器时,可能会发生运行时规模更改的情况。 因此,当处理缩放更改时, ImageOpenedImageFailed 事件可能发生在运行时,即使在 XAML 中设置 的情况下也是如此。

构造函数

名称 说明
Image()

初始化 Image 类的新实例。

属性

名称 说明
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)
BaseUri

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

(继承自 FrameworkElement)
CacheMode

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

(继承自 UIElement)
CanBeScrollAnchor

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

(继承自 UIElement)
CanDrag

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

(继承自 UIElement)
CenterPoint

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

(继承自 UIElement)
Clip

获取或设置用于定义 UIElement 内容的轮廓的 RectangleGeometry

(继承自 UIElement)
CompositeMode

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

(继承自 UIElement)
ContextFlyout

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

(继承自 UIElement)
DataContext

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

(继承自 FrameworkElement)
DesiredSize

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

(继承自 UIElement)
Dispatcher

始终在 Windows 应用 SDK 应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

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

(继承自 DependencyObject)
ExitDisplayModeOnAccessKeyInvoked

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

(继承自 UIElement)
FlowDirection

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

(继承自 FrameworkElement)
FocusState

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

(继承自 UIElement)
FocusVisualMargin

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

(继承自 FrameworkElement)
FocusVisualPrimaryBrush

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

(继承自 FrameworkElement)
FocusVisualPrimaryThickness

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

(继承自 FrameworkElement)
FocusVisualSecondaryBrush

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

(继承自 FrameworkElement)
FocusVisualSecondaryThickness

获取或设置 FrameworkElement 的框架视觉对象内边框的HighVisibilityReveal粗细。

(继承自 FrameworkElement)
Height

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

(继承自 FrameworkElement)
HighContrastAdjustment

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

(继承自 UIElement)
HorizontalAlignment

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

(继承自 FrameworkElement)
IsAccessKeyScope

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

(继承自 UIElement)
IsDoubleTapEnabled

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

(继承自 UIElement)
IsHitTestVisible

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

(继承自 UIElement)
IsHoldingEnabled

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

(继承自 UIElement)
IsLoaded

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

(继承自 FrameworkElement)
IsRightTapEnabled

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

(继承自 UIElement)
IsTabStop

获取或设置一个值,该值指示控件是否包含在选项卡导航中。

(继承自 UIElement)
IsTapEnabled

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

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

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

(继承自 FrameworkElement)
MinWidth

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

(继承自 FrameworkElement)
Name

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

(继承自 FrameworkElement)
NineGrid

获取或设置一个九网格隐喻的值,该值控制图像的大小。 通过九网格隐喻,可以拉伸图像的边缘和角落与其中心不同。 有关详细信息和插图,请参阅“备注”。

NineGridProperty

标识 NineGrid 依赖项属性。

Opacity

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

(继承自 UIElement)
OpacityTransition

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

(继承自 UIElement)
Parent

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

(继承自 FrameworkElement)
PointerCaptures

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

(继承自 UIElement)
Projection

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

(继承自 UIElement)
ProtectedCursor

获取或设置指针位于此元素上时显示的游标。 默认值为 null,表示游标没有更改。

(继承自 UIElement)
RasterizationScale

获取一个值,该值表示在呈现形状、图像、文本或媒体时要使用的额外比例因子,通常以比正常分辨率更高的分辨率呈现。

(继承自 UIElement)
RenderSize

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

(继承自 UIElement)
RenderTransform

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

(继承自 UIElement)
RenderTransformOrigin

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

(继承自 UIElement)
RequestedTheme

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

(继承自 FrameworkElement)
Resources

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

(继承自 FrameworkElement)
Rotation

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

(继承自 UIElement)
RotationAxis

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

(继承自 UIElement)
RotationTransition

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

(继承自 UIElement)
Scale

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

(继承自 UIElement)
ScaleTransition

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

(继承自 UIElement)
Shadow

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

(继承自 UIElement)
Source

获取或设置图像的源。

SourceProperty

标识 依赖项属性。

Stretch

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

StretchProperty

标识 Stretch 依赖属性。

Style

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

(继承自 FrameworkElement)
TabFocusNavigation

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

(继承自 UIElement)
TabIndex

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

(继承自 UIElement)
Tag

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

(继承自 FrameworkElement)
Transform3D

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

(继承自 UIElement)
TransformMatrix

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

(继承自 UIElement)
Transitions

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

(继承自 UIElement)
Translation

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

(继承自 UIElement)
TranslationTransition

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

(继承自 UIElement)
Triggers

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

(继承自 FrameworkElement)
UseLayoutRounding

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

(继承自 UIElement)
UseSystemFocusVisuals

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

(继承自 UIElement)
VerticalAlignment

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

(继承自 FrameworkElement)
Visibility

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

(继承自 UIElement)
Width

获取或设置 FrameworkElement 的宽度。

(继承自 FrameworkElement)
XamlRoot

获取或设置 XamlRoot 要在其中查看此元素的元素。

(继承自 UIElement)
XYFocusDown

获取或设置当用户按下游戏控制器方向盘(D 板)时获得焦点的对象。

(继承自 UIElement)
XYFocusDownNavigationStrategy

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

(继承自 UIElement)
XYFocusKeyboardNavigation

获取或设置一个值,该值使用键盘方向箭头启用或禁用导航。

(继承自 UIElement)
XYFocusLeft

获取或设置当用户向左按下游戏控制器方向盘(D 板)时获得焦点的对象。

(继承自 UIElement)
XYFocusLeftNavigationStrategy

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

(继承自 UIElement)
XYFocusRight

获取或设置当用户向右按下游戏控制器方向面板(D 板)时获取焦点的对象。

(继承自 UIElement)
XYFocusRightNavigationStrategy

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

(继承自 UIElement)
XYFocusUp

获取或设置当用户按下游戏控制器方向面板(D 板)时获得焦点的对象。

(继承自 UIElement)
XYFocusUpNavigationStrategy

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

(继承自 UIElement)

方法

名称 说明
AddHandler(RoutedEvent, Object, Boolean)

为指定的路由事件添加路由事件处理程序,将处理程序添加到当前元素上的处理程序集合。 指定 handledEventsToo 是否 true 调用提供的处理程序,即使事件在其他地方进行处理也是如此。

(继承自 UIElement)
Arrange(Rect)

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

(继承自 UIElement)
ArrangeOverride(Size)

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

(继承自 FrameworkElement)
CancelDirectManipulations()

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

(继承自 UIElement)
CapturePointer(Pointer)

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

(继承自 UIElement)
ClearValue(DependencyProperty)

清除依赖属性的本地值。

(继承自 DependencyObject)
FindName(String)

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

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

使 UIElement 子类能够公开有助于解决触摸目标的子元素。

(继承自 UIElement)
Focus(FocusState)

尝试将焦点设置为此元素。

(继承自 UIElement)
GetAlphaMask()

返回一个掩码,该掩码表示图像的 alpha 通道作为 CompositionBrush

GetAnimationBaseValue(DependencyProperty)

返回为依赖属性建立的任何基值,在动画未处于活动状态的情况下,该属性将适用。

(继承自 DependencyObject)
GetAsCastingSource()

CastingSource 的形式返回图像。

GetBindingExpression(DependencyProperty)

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

(继承自 FrameworkElement)
GetChildrenInTabFocusOrder()

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

(继承自 UIElement)
GetValue(DependencyProperty)

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

(继承自 DependencyObject)
GetVisualInternal()

Visual检索元素解析为的元素。

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

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

(继承自 FrameworkElement)
InvalidateArrange()

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

(继承自 UIElement)
InvalidateMeasure()

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

(继承自 UIElement)
InvalidateViewport()

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

(继承自 FrameworkElement)
Measure(Size)

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

(继承自 UIElement)
MeasureOverride(Size)

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

(继承自 FrameworkElement)
OnApplyTemplate()

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

(继承自 FrameworkElement)
OnBringIntoViewRequested(BringIntoViewRequestedEventArgs)

发生 BringIntoViewRequested 事件之前调用。

(继承自 UIElement)
OnCreateAutomationPeer()

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

(继承自 UIElement)
OnDisconnectVisualChildren()

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

(继承自 UIElement)
OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs)

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

(继承自 UIElement)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

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

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

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

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

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

(继承自 UIElement)
ReadLocalValue(DependencyProperty)

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

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

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

(继承自 DependencyObject)
ReleasePointerCapture(Pointer)

释放指针捕获,以便通过此 UIElement 捕获一个特定指针。

(继承自 UIElement)
ReleasePointerCaptures()

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

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

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

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

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

(继承自 FrameworkElement)
SetValue(DependencyProperty, Object)

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

(继承自 DependencyObject)
StartAnimation(ICompositionAnimationBase)

开始元素上的指定动画。

(继承自 UIElement)
StartBringIntoView()

向 XAML 框架发出请求,将元素引入其包含的任何可滚动区域中的视图中。

(继承自 UIElement)
StartBringIntoView(BringIntoViewOptions)

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

(继承自 UIElement)
StartDragAsync(ExpPointerPoint)

表示显示图像的控件。 通过使用多种支持的格式引用图像文件来指定图像源。 还可以使用流设置图像源。 有关支持的图像源格式的列表,请参阅“备注”。

(继承自 UIElement)
StartDragAsync(PointerPoint)

启动拖放操作。

Important

如果用户以管理员身份以提升模式运行应用,则不受支持。

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

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

(继承自 UIElement)
GotFocus

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

(继承自 UIElement)
Holding

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

(继承自 UIElement)
ImageFailed

当存在与图像检索或格式关联的错误时发生。

ImageOpened

下载并解码映像源时不失败时发生。 可以使用此事件来确定图像源的自然大小。

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

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

(继承自 UIElement)
PointerReleased

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

(继承自 UIElement)
PointerWheelChanged

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

(继承自 UIElement)
PreviewKeyDown

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

(继承自 UIElement)
PreviewKeyUp

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

(继承自 UIElement)
ProcessKeyboardAccelerators

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

(继承自 UIElement)
RightTapped

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

(继承自 UIElement)
SizeChanged

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

(继承自 FrameworkElement)
Tapped

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

(继承自 UIElement)
Unloaded

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

(继承自 FrameworkElement)

适用于

另请参阅