ImageBrush 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用图像绘制区域。 图像源通常从文件格式(如联合摄影专家组 (JPEG) )获取。
public ref class ImageBrush sealed : TileBrush
/// [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 ImageBrush final : TileBrush
[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 ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
- 继承
- 属性
示例
此 XAML 示例演示如何将 TextBlock 的 Foreground 属性设置为 ImageBrush,其图像用作 TextBlock 呈现文本的填充。
<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
FontStyle="Italic" FontWeight="Bold">
SHRUBBERY
<TextBlock.Foreground>
<ImageBrush ImageSource="forest.jpeg"/>
</TextBlock.Foreground>
</TextBlock>
注解
ImageBrush 是一种 画笔 ,它将其内容定义为可以选择拉伸和对齐的图像。 ImageBrush 的用途包括文本的装饰效果,或控件或布局容器的图像背景。
在两种main方案中,使用 ImageBrush 而不是 Image 控件很有用:
- 你想要使用图像绘制非矩形区域,例如椭圆或边框
- 你想要使用单个 ImageBrush 绘制多个区域或同一图像的 UIElement,这比使用多个 Image 控件更高效
如果使用代码定义 ImageBrush,请使用默认构造函数,然后设置 ImageBrush.ImageSource。 这需要 位图图像 (而不是代码中的统一资源标识符 (URI) ) 。 如果源是一个流,请使用 SetSourceAsync 方法来初始化该值。 如果源是统一资源标识符 (URI) ,其中包括应用中使用 ms-appx 或 ms-resource 方案的内容,请使用采用统一资源标识符的 BitmapImage 构造函数 (URI) 。 如果在检索或解码图像资源时存在任何计时问题,而你可能在图像资源可用前需要使用替代内容用以显示,则还可以考虑处理 ImageOpened 事件。 有关示例代码 ,请参阅 XAML 图像示例 。
注意
可以使用自动处理来访问具有当前规模和区域性限定符的不限定资源,也可以使用 ResourceManager 和 ResourceMap 以及区域性和缩放限定符来直接获取资源。 有关详细信息,请参阅资源管理系统。
Stretch 属性对于用作画笔时如何应用图像非常重要。 一些图像在拉伸为“填充”行为应用于特定 Brush 属性时看起来不错,而其他图像的拉伸或缩放效果不佳,可能需要“无”或“拉伸的统一”值。 试验 Stretch 的不同值,以查看应用于 UI 时哪种行为最美观。
图像源和缩放
应以多种建议大小创建图像源,以确保应用在Windows 8缩放时看起来很棒。 为 ImageBrush 指定 ImageSource 时,可以使用命名约定自动引用当前缩放的正确资源。 有关命名约定规范和详细信息,请参阅快速入门:使用文件或图像资源。
有关如何针对缩放进行设计的详细信息,请参阅 布局和缩放的 UX 指南。
构造函数
ImageBrush() |
初始化 ImageBrush 类的新实例。 |
属性
AlignmentX |
获取或设置 TileBrush 基磁贴中内容的水平对齐方式。 (继承自 TileBrush) |
AlignmentY |
获取或设置 TileBrush 基磁贴中内容的垂直对齐方式。 (继承自 TileBrush) |
Dispatcher |
始终在Windows 应用 SDK应用中返回 |
DispatcherQueue |
|
ImageSource |
获取或设置此 ImageBrush 显示的图像源。 在使用 ImageSource 子类实例设置此代码的代码中,在 XAML 中,使用图像源文件的 URI 设置此项。 |
ImageSourceProperty |
标识 ImageSource 依赖属性。 |
Opacity |
获取或设置 Brush 的不透明度。 (继承自 Brush) |
RelativeTransform |
获取或设置使用相对坐标应用到画笔的转换。 (继承自 Brush) |
Stretch |
获取或设置一个值,该值指定此 TileBrush 的内容如何拉伸以适应其磁贴。 (继承自 TileBrush) |
Transform |
获取或设置应用于画笔的转换。 (继承自 Brush) |
方法
ClearValue(DependencyProperty) |
清除依赖属性的本地值。 (继承自 DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
返回为依赖属性建立的任何基值,该基值适用于动画未处于活动状态的情况。 (继承自 DependencyObject) |
GetValue(DependencyProperty) |
从 DependencyObject 返回依赖属性的当前有效值。 (继承自 DependencyObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
定义可进行动画处理的属性。 (继承自 Brush) |
PopulatePropertyInfoOverride(String, AnimationPropertyInfo) |
在派生类中重写时,定义一个可以进行动画处理的属性。 (继承自 Brush) |
ReadLocalValue(DependencyProperty) |
如果设置了本地值,则返回依赖属性的本地值。 (继承自 DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
注册通知函数,用于侦听此 DependencyObject 实例上对特定 DependencyProperty 的更改。 (继承自 DependencyObject) |
SetValue(DependencyProperty, Object) |
设置 DependencyObject 上依赖属性的本地值。 (继承自 DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
取消以前通过调用 RegisterPropertyChangedCallback 注册的更改通知。 (继承自 DependencyObject) |
事件
ImageFailed |
当存在与图像检索或格式关联的错误时发生。 |
ImageOpened |
下载并解码映像源时发生,但未失败。 在呈现图像之前,可以使用此事件来确定图像的大小。 |