Image 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于显示图像的控件。 图像源是通过引用图像文件(使用多种受支持的格式)指定的。 还可以使用流设置图像源。 有关支持的图像源格式列表,请参阅备注。
public ref class Image 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 Image 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 Image 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 Image : 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 Image : FrameworkElement
Public NotInheritable Class Image
Inherits FrameworkElement
<Image .../>
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
提示
有关详细信息、设计指南和代码示例,请参阅 图像。
WinUI 2 库应用包括大多数 WinUI 2 控件、特性和功能的交互式示例。 通过 Microsoft Store 获取应用,或在 GitHub 上获取源代码。
注解
图像文件格式
Image 可以显示以下图像文件格式:
- 联合图像专家组 (JPEG)
- 可移植网络图形 (PNG)
- 位图 (BMP)
- 图形交换格式 (GIF)
- 标记图像文件格式 (TIFF)
- JPEG XR
- 图标 (ICO)
- 可缩放的向量图形 (SVG)
注意
仅在 Windows 上支持的图标文件。 Windows Phone 8.1 不支持
从 Windows 10 版本 1607 开始,Image 元素支持动画图形交换格式 (GIF) 图像。 使用 BitmapImage 作为图像 源时,可以访问 BitmapImage API 来控制动画图形交换格式 (GIF) 图像的播放。 有关详细信息,请参阅 BitmapImage 类页面上的“备注”。
注意
当应用针对 Windows 10 版本 1607 编译并在版本 1607 (或更高版本) 上运行时,可以使用动态图形交换格式 (GIF) 支持。 为早期版本编译或运行应用时,将显示图形交换格式 (GIF) 的第一帧,但不进行动画处理。
从 Windows 10 版本 1703 开始,Image 元素通过 SvgImageSource 支持静态可缩放矢量图形 (SVG) 图像。 SvgImageSource 支持 SVG 规范中的安全静态模式,不支持动画或交互。 Direct2D 提供基础 SVG 呈现支持,有关特定 SVG 元素和属性支持的详细信息,请参阅 SVG 支持。 若要详细了解如何在应用中插入 SVG,请访问 SvgImageSource 类页。
注意
当应用针对 Windows 10 版本 1703 进行编译并在版本 1703 (或更高版本) 上运行时,可缩放矢量图形 (SVG) 支持。 当应用为以前版本编译或运行时,不会显示 SVG 图像。
设置 Image.Source
若要设置 Image 显示的图像源文件,请在 XAML 或代码中设置其 Source 属性。 下面是在 XAML 中设置 Source 的简单示例:
<Image Width="200" Source="Images/myimage.png"/>
此用法将 源设置为统 一资源标识符 (URI) ,这是 XAML 启用的快捷方式。 请注意,此处) 统一资源标识符 (URI 似乎是相对统一资源标识符 (URI) ;支持部分统一资源标识符 (URI) 是另一个 XAML 快捷方式。 此统一资源标识符 (URI) 的根是应用项目的基文件夹。 这通常与加载包含 Image 标记的 XAML 文件的位置相同。 在此示例中,图像源文件位于应用的文件结构中的 Images 子文件夹中。
设置 Source 属性本质上是一种异步操作。 因为它是一个属性,因此没有可等待的语法,但在大多数情况下,不需要与图像加载的异步方面进行交互。 框架将等待图像源返回,并在图像源文件可用并解码时启动布局周期。
将源设置为统一资源标识符 (URI) 无法解析为有效图像源文件的值不会引发异常。 相反,它会触发 ImageFailed 事件。 可以编写 ImageFailed 处理程序并将其附加到 Image 对象,还可以在事件数据中使用 ErrorMessage 来确定故障的性质。 解码错误也可能触发 ImageFailed。 如果要验证图像源文件是否已正确加载,可以处理 Image 元素上的 ImageOpened 事件。
通常使用作为应用下载包一部分包含的图像源文件。 对于大型文件,如果这是第一次使用源,则在解码图像源文件时可能会有非常小的延迟。 有关应用资源以及如何在应用包中打包映像源文件的详细信息,请参阅 定义应用资源。
还可以使用不属于应用的图像源文件,例如来自外部服务器的图像。 这些图像由内部 HTTP 请求下载,然后解码。 如果图像源文件是大型文件,或者存在连接问题,则可能会在 Image 元素中显示外部图像之前出现延迟。
使用代码设置 Image.Source
如果使用代码创建 Image 对象,请调用默认构造函数,然后设置 Image.Source 属性。 设置 Image.Source 属性需要 BitmapImage 类的实例,还必须构造该实例。 如果图像源是由统一资源标识符 (URI) 引用的文件,请使用采用统一资源标识符 (URI) 参数的 BitmapImage 构造函数。 引用本地内容时,必须在用作 BitmapImage 构造函数参数的绝对统一资源标识符 (URI) 中包含 ms-appx: 方案。 在代码中,你不会获得用于将相对统一资源标识符 (URI) 部件和 ms-appx: 方案(如果指定 Source 作为 XAML 属性)自动发生的处理快捷方式。 相反,你必须使用适当的方案显式构造一个绝对统一资源标识符 (URI) 。 通常对打包为应用一部分的图像文件使用 ms-appx: 方案。
提示
如果使用 C# 或 Microsoft Visual Basic,则可以获取 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;
}
将流源用于图像源
如果图像源是流,则必须编写将 Image 实例设置为使用该流的代码。 这不能仅在 XAML 中完成。 构造要使用的 Image,或引用现有 Image 实例 (这些实例可能是在 XAML 标记中定义的,但没有源) 。 然后使用 BitmapImage 的 async SetSourceAsync 方法定义流中的图像信息,并将流传递给用作 streamSource 参数。 对图像源使用流相当常见。 例如,如果应用允许用户使用 FileOpenPicker 控件选择图像文件,则你获取的表示用户选择的文件的对象可以作为流打开,但不提供统一资源标识符 (URI) 引用该文件。
在此示例中,代码已经是可等待的,因为它正在等待用户选择文件,并且它仅在发生该文件后运行。 从异步选取器操作返回 StorageFile 实例后,要使用的流来自 StorageFile.OpenAsync 。
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;
}
}
提示
如果使用 C# 或 Microsoft Visual Basic,流可以使用以前 Microsoft .NET 编程体验中可能熟悉的 System.IO.Stream 类型。 可以在从 Windows 运行时 API 获取的任何 IRandomAccessStream 类型对象上调用 AsStream 扩展方法作为实例方法。 前面的示例使用 IRandomAccessStream 进行参数传递,不需要使用 AsStream。 但是,如果需要操作流, AsStream 将作为实用工具转换为 System.IO.Stream (如果需要)。
有关更多示例代码 ,请参阅 XAML 图像示例 。
图像文件和性能
大型图像文件可能会影响性能,因为它们会加载到内存中。 如果要引用图像文件,其中你知道源文件是一个较大的高分辨率图像,但应用在小于图像自然大小的 UI 区域中显示它,则应设置 DecodePixelWidth 属性或 DecodePixelHeight。 利用 DecodePixel* 属性,可以将信息直接传递到特定于格式的编解码器,编解码器可以使用此信息更高效地解码,并缩小内存占用量。 将 DecodePixelWidth 设置为希望应用实际显示的区域的像素宽度。 换句话说,BitmapImage 源的 DecodePixelWidth 应与显示该源的图像控件的 Width 或 ActualWidth 值相同。
可以设置 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 中的属性。
如果要在代码中创建 Image 实例,则可能已创建 BitmapImage 实例作为为 Source 属性提供的值,因此只需在 BitmapImage 实例上设置 DecodePixelWidth (或 DecodePixelHeight) ,然后再设置 UriSource 属性。 DecodePixelType 属性还影响解码操作解释像素值的方式。
若要防止多次解码图像,请从统一资源标识符 (URI) 分配图像源属性,而不是在可能的情况下使用内存流。 XAML 框架可以在多个位置将同一统一资源标识符 (URI) 与一个解码图像相关联,但即使多个内存流包含相同的数据,也无法对多个内存流执行相同的操作。
可以通过将所有关联的 Image.Source 值设置为 null,从映像缓存中删除图像文件。
有关 Image 类和性能的详细信息,请参阅 优化动画和媒体。
图像文件编码和解码
对图像文件的基础编解码器支持由 Windows 映像组件 (WIC) API 提供。 有关编解码器记录的特定图像格式的详细信息,请参阅 本机 WIC 编解码器。
用于图像、 BitmapImage 和 BitmapSource 的 API 不包含任何用于对媒体格式进行编码和解码的专用方法。 所有解码操作都内置为设置或重置源时发生的操作。 这使得类更易于用于构造 UI,因为它们具有一组默认的受支持的源文件格式和解码行为。 BitmapImage 等类将一些解码选项和逻辑公开为 ImageOpened 或 ImageFailed 事件的事件数据的一部分。 如果需要高级图像文件解码或图像编码,则应使用 Windows.Graphics.Imaging 命名空间中的 API。 如果你的应用方案涉及图像文件格式转换,或者操作用户可将结果保存为文件的图像,则可能需要这些 API。 Windows 映像组件 (WINDOWS 的 WIC) 组件也支持编码 API。
图像 宽度和高度
Image 类从 FrameworkElement 继承 Width 和 Height 属性,这些属性可能控制 Image 控件在 UI 中显示时呈现的大小。 如果未设置 Width 或 Height,则宽度和高度由图像源的自然大小决定。 例如,如果加载高 300 像素、宽 400 像素的位图图像(以源文件格式记录),则图像控件计算其自然大小时,这些度量值将用于宽度和高度。 可以在图像呈现后检查 ActualHeight 和 ActualWidth,以获取度量信息。 或者,可以在图像呈现之前处理 ImageOpened 和检查图像文件属性,例如 PixelHeight 和 PixelWidth。
如果仅设置 Width 或 Height 属性之一,但不能同时设置两者,则系统可以使用该维度作为指导并计算另一个维度,从而保留纵横比。 如果不确定源文件维度,请选择在布局方案中最重要的控制维度,让系统计算另一个维度,然后容器的布局行为通常会调整布局以适应情况。
如果未设置 宽度 和/或 高度,并将图像保留为其自然大小,则图像的 Stretch 属性可以控制图像源文件将如何填充指定为 Width 和 Height 的空间。 默认 Stretch 值为 Uniform,当图像适合布局容器时,它会保留纵横比。 如果容器的维度的纵横比不相同,则至少有空白空间仍属于 Image 的一部分,但不显示任何图像像素,至少在使用 Stretch 的 Uniform 值时是这样。 UniformToFill for Stretch 不会留出空白空间,但如果尺寸不同,可能会剪裁图像。 Stretch填充不会留下空白空间,但可能会更改纵横比。 可以尝试这些值,以查看在布局方案中最适合图像显示的内容。 此外,请注意,某些布局容器可能会调整没有特定 Width 和 Height 的图像的大小以填充整个布局空间,在这种情况下,可以选择在映像或容器上设置特定大小。
NineGrid
如果图像具有不应统一缩放的区域,则使用 NineGrid 技术是调整与显示区域不同的自然大小图像的另一个选项。 例如,可以使用一个背景图像,该背景图像的固有边框只应在一个维度中拉伸,而角不应拉伸,但图像中心可以拉伸以满足两个维度的布局要求。 有关详细信息,请参阅 NineGrid。
映像的资源限定和本地化
图像 源文件和缩放
应以多种建议大小创建图像源,以确保在 Windows 8 缩放应用时应用外观美观。 为图像指定 源 时,可以对将正确资源用于特定于设备缩放因子的资源使用命名约定。 这由应用在运行时自动确定。 有关要使用的命名约定的详细信息,请参阅 快速入门:使用文件或图像资源。
有关如何正确设计图像进行缩放的详细信息,请参阅 布局和缩放的 UX 指南。
使用非限定资源
不限定资源是一种可以使用的方法,其中基本资源引用引用为默认资源,资源管理过程可以自动查找等效的本地化资源。 可以使用自动处理来访问具有当前规模和区域性限定符的不限定资源,也可以使用 ResourceManager 和 ResourceMap 以及区域性和缩放限定符来直接获取资源。 有关详细信息,请参阅资源管理系统。
Image 的 FlowDirection
如果将 FlowDirection 设置为 Image 的 RightToLeft ,图像的视觉内容将水平翻转。 但是,Image 元素不会从任何父元素继承 FlowDirection 值。 通常,你只需要与布局相关的图像中的图像翻转行为,但不一定与嵌入文本的元素或其他对从右向左的受众没有意义翻转的元素。 若要获取图像翻转行为,必须将 Image 元素上的 FlowDirection 元素专门设置为 RightToLeft,或在代码隐藏中设置 FlowDirection 属性。 请考虑通过 x:Uid 指令标识 Image 元素,并将 FlowDirection 值指定为Windows 运行时资源,以便本地化专家稍后可以更改此值,而无需更改 XAML 或代码。
Image 类和辅助功能
Image 类不是真正的控件类,因为它不是 Control 的后代类。 不能将焦点调用 Image 元素,也不能将 Image 元素置于制表符序列中。 有关在 UI 中使用图像和 Image 元素的辅助功能方面的详细信息,请参阅 基本辅助功能信息。
Windows 8 行为
对于 Windows 8,资源可以使用资源限定符模式来加载不同的资源,具体取决于特定于设备的缩放。 但是,如果在应用运行时缩放因子发生更改,则不会自动重新加载资源。 在这种情况下,应用必须处理重载资源,方法是处理 dpiChanged 事件 (或弃用的 LogicalDpiChanged 事件) ,并使用 ResourceManager API 手动重新加载适合新缩放因子的资源。 从Windows 8.1开始,如果应用运行时缩放因子发生更改,则会自动重新评估最初为应用检索的任何资源。 此外,当该资源是 Image 对象的图像源时,将触发 ImageOpened 或 ImageFailed) (源加载事件之一,因为系统会请求新资源,然后将其应用于 Image。 发生运行时缩放更改的情况是,当用户将应用移动到其他监视器时,有多个监视器可用。
如果将应用代码从 Windows 8 迁移到 Windows 8.1可能需要考虑此行为更改,因为它会导致在处理缩放更改时在运行时发生的 ImageOpened 或 ImageFailed 事件,即使在 XAML 中设置了 Source 的情况下也是如此。 此外,如果确实有处理 DpiChanged/LogicalDpiChanged 并重置资源的代码,则应根据新的Windows 8.1自动重载行为检查是否仍需要该代码。
对于针对 Windows 8 编译的应用,如果它在 Windows 8.1 上运行,将继续使用 Windows 8 行为。
版本历史记录
Windows 版本 | SDK 版本 | 已添加值 |
---|---|---|
1607 | 14393 | GetAlphaMask |
构造函数
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 |
获取与此 对象关联的 CoreDispatcher 。 CoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。 (继承自 DependencyObject) |
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) |
IsDoubleTapEnabled |
获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsHitTestVisible |
获取或设置此 UIElement 的包含区域是否可以为命中测试返回 true 值。 (继承自 UIElement) |
IsHoldingEnabled |
获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。 (继承自 UIElement) |
IsLoaded |
获取一个值,该值指示是否已将元素添加到元素树中并准备好进行交互。 (继承自 FrameworkElement) |
IsRightTapEnabled |
获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。 (继承自 UIElement) |
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) |
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) |
PlayToSource |
获取将 图像 用于“播放到”方案时传输的信息。 |
PlayToSourceProperty |
标识 PlayToSource 依赖属性。 |
PointerCaptures |
获取所有捕获的指针的集合,表示为 Pointer 值。 (继承自 UIElement) |
Projection |
获取或设置呈现此元素时要应用的透视投影 (三维效果) 。 (继承自 UIElement) |
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 |
获取或设置图像的源。 |
SourceProperty |
标识 Source 依赖属性。 |
Stretch |
获取或设置一个值,该值描述应如何拉伸 Image 以填充目标矩形。 |
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) |
Triggers |
获取为 FrameworkElement 定义的动画触发器的集合。 不常用。 请参阅“备注”。 (继承自 FrameworkElement) |
UIContext |
获取 元素的上下文标识符。 (继承自 UIElement) |
UseLayoutRounding |
获取或设置一个值,该值确定对象及其可视子树的呈现是否应使用使呈现与整个像素对齐的舍入行为。 (继承自 UIElement) |
VerticalAlignment |
获取或设置在父对象(如面板或项控件)中组合时应用于 FrameworkElement 的垂直对齐特征。 (继承自 FrameworkElement) |
Visibility |
获取或设置 UIElement 的可见性。 不可见的 UIElement 不会呈现,也不会将其所需大小传达给布局。 (继承自 UIElement) |
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) |
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 |
在释放之前启动 按下 操作的指针设备时发生,同时在此元素中。 请注意, 不保证按下 操作的结尾会触发 PointerReleased 事件;可能会触发其他事件。 有关详细信息,请参阅备注。 (继承自 UIElement) |
PointerWheelChanged |
在指针滚轮的增量值更改时发生。 (继承自 UIElement) |
PreviewKeyDown |
当 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
PreviewKeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
ProcessKeyboardAccelerators |
按下 键盘快捷方式 (或快捷键) 时发生。 (继承自 UIElement) |
RightTapped |
当指针位于 元素上时发生右点击输入刺激时发生。 (继承自 UIElement) |
SizeChanged |
当 ActualHeight 或 ActualWidth 属性更改 FrameworkElement 上的值时发生。 (继承自 FrameworkElement) |
Tapped |
在此元素的命中测试区域上发生未经处理的 点击 交互时发生。 (继承自 UIElement) |
Unloaded |
当此对象不再连接到main对象树时发生。 (继承自 FrameworkElement) |