ImageBrush.ImageSource 属性

定义

获取或设置此 ImageBrush 显示的图像源。 在代码中,使用 ImageSource 子类实例设置此项,在 XAML 中,使用图像源文件的 URI 设置此。

public:
 property ImageSource ^ ImageSource { ImageSource ^ get(); void set(ImageSource ^ value); };
ImageSource ImageSource();

void ImageSource(ImageSource value);
public ImageSource ImageSource { get; set; }
var imageSource = imageBrush.imageSource;
imageBrush.imageSource = imageSource;
Public Property ImageSource As ImageSource
<ImageBrush ImageSource="imageUri"/>

属性值

一个表示图像源的 对象,此 ImageBrush 在应用于内容时显示该图像源。

注解

从图像源文件或流设置图像源本质上是一种异步操作。 将源设置为统一资源标识符 (URI) 无法解析为有效图像源文件的值不会引发错误。 相反,它会在 ImageBrush 上触发 ImageFailed 事件。 如果要验证图像源文件是否已正确加载,则可以处理 ImageOpened 进行验证,以及 ImageFailed 作为提供回退图像源或重新编译 UI 的一种方式。

在 XAML 中设置 ImageSource

可以在 XAML 中设置此属性,但在这种情况下,将 ImageSource 属性值设置为表示统一资源标识符 (URI) 的字符串。 此行为依赖于基础类型转换,该转换将字符串作为统一资源标识符处理 (URI) ,并调用 BitmapImage (Uri) 构造函数的内部等效项。

如果 XAML 中的初始 ImageSource 属性值未指定有效的源,则可能发生 ImageFailed 事件。 可以使用相对路径来引用与应用一起打包的映像,或使用) (URI 的绝对统一资源标识符来引用服务器中的图像。 如果使用打包为应用的一部分的图像源,通常使用 ms-appxms-resource 方案。

在代码中设置 ImageSource

如果使用代码定义 ImageBrush ,则 ImageBrush.ImageSource 需要 BitmapImage (而不是代码中) ) 统一资源标识符 (URI。 如果源是一个流,请使用 SetSourceAsync 方法来初始化该值。 如果源是统一资源标识符 (URI) 引用文件(包括应用中使用 ms-appxms-resource 方案的内容),请使用 BitmapImage 构造函数,该构造函数将统一资源标识符 (URI) 。 如果在检索或解码图像资源时存在任何计时问题,而你可能在图像资源可用前需要使用替代内容用以显示,则还可以考虑处理 ImageOpened 事件。 有关示例代码,请参阅 XAML 图像示例

如果需要编写与 UI 中的另一个对象相关的 URI 以帮助确定资源请求的范围,有时可以使用对 UI 中的另一个对象调用的 FrameworkElement.BaseUri 属性。 这提供了一个基 URI,即 XAML 页面来自应用的项目结构中的位置。

注意

可以使用自动处理来访问具有当前规模和区域性限定符的非限定资源,或者将 ResourceManagerResourceMap 与区域性和缩放的限定符配合使用来直接获取资源。 有关详细信息,请参阅资源管理系统

图像源和缩放

你应该以多种建议的大小创建图像源,以确保应用在Windows 8缩放时看起来很棒。 为 ImageBrush 指定 ImageSource 时,可以使用命名约定,该约定会自动引用当前缩放的正确资源。 有关命名约定规范和详细信息,请参阅快速入门:使用文件或图像资源

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

有关应用资源以及如何在应用中打包图像源的详细信息,请参阅 定义应用资源

适用于

另请参阅