TileBrush.Viewbox 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置 TileBrush 图块中内容的位置和尺寸。
public:
property System::Windows::Rect Viewbox { System::Windows::Rect get(); void set(System::Windows::Rect value); };
public System.Windows.Rect Viewbox { get; set; }
member this.Viewbox : System.Windows.Rect with get, set
Public Property Viewbox As Rect
属性值
TileBrush 内容的位置和尺寸。 默认值为矩形 (Rect),其 TopLeft 为 (0,0),Width 和 Height 为 1。
示例
可以使用属性指定内容Viewbox的大小和位置TileBrush。 该 ViewboxUnits 属性确定该值是 Viewbox 相对于内容的边界 TileBrush ,还是它是绝对值。
第一个插图显示 100 x 100 像素的图像,然后使用此图像显示不同 Viewbox 属性设置的效果。
起始示例图像 (100 到 100 个独立于设备的像素)
下图显示了使用 Viewbox 0.0,0.0,0.25,0.5 的输出TileBrush。 其他相关属性值包括:
Viewport: 0,0,1,1
此图显示了多个不同的 Stretch 属性设置。 该 Stretch 属性确定 TileBrush 其拉伸 Viewbox 方式以填充其 Viewport。
TileBrush,相对视图框为 0.0,0.0,0.25,0.5
下图显示了一个类似的 TileBrush ,但相对 Viewbox 为 0.5,0.25,0.25,0.5。
类似的 TileBrush,但具有不同的 Viewbox 设置
下图显示相同 TileBrush ,但相对 Viewport 值为 0.0,0.0,0.5,0.5 和 a TileMode Tile。
类似的 TileBrush,但具有平铺和不同的视区设置
以下示例演示如何创建具有 Viewbox 0.5,0.25、0.25、0.25,0.5 的平铺TileBrush。
<Rectangle
Width="100" Height="100">
<Rectangle.Fill>
<ImageBrush
ImageSource="sampleImages\testImage.gif"
Viewbox="0.5,0.25, 0.25,0.5"
ViewboxUnits="RelativeToBoundingBox"
Viewport="0,0,0.5,0.5"
ViewportUnits="RelativeToBoundingBox"
TileMode="Tile"
Stretch="Fill"
AlignmentX="Center"
AlignmentY="Center"/>
</Rectangle.Fill>
</Rectangle>
// Create a rectangle.
Rectangle myRectangle = new Rectangle();
myRectangle.Width = 100;
myRectangle.Height = 100;
// Load the image.
BitmapImage theImage =
new BitmapImage(
new Uri("sampleImages\\testImage.gif", UriKind.Relative));
ImageBrush myImageBrush = new ImageBrush(theImage);
myImageBrush.Viewbox = new Rect(0.5, 0.25, 0.25, 0.5);
myImageBrush.ViewboxUnits = BrushMappingMode.RelativeToBoundingBox;
myImageBrush.Viewport = new Rect(0,0,0.25,0.25);
myImageBrush.ViewportUnits = BrushMappingMode.RelativeToBoundingBox;
myImageBrush.TileMode = TileMode.Tile;
myImageBrush.Stretch = Stretch.Fill;
myImageBrush.AlignmentX = AlignmentX.Center;
myImageBrush.AlignmentY = AlignmentY.Center;
// Use the ImageBrush to paint the rectangle's background.
myRectangle.Fill = myImageBrush;
' Create a rectangle.
Dim myRectangle As New Rectangle()
myRectangle.Width = 100
myRectangle.Height = 100
' Load the image.
Dim theImage As New BitmapImage(New Uri("sampleImages\testImage.gif", UriKind.Relative))
Dim myImageBrush As New ImageBrush(theImage)
With myImageBrush
.Viewbox = New Rect(0.5, 0.25, 0.25, 0.5)
.ViewboxUnits = BrushMappingMode.RelativeToBoundingBox
.Viewport = New Rect(0, 0, 0.25, 0.25)
.ViewportUnits = BrushMappingMode.RelativeToBoundingBox
.TileMode = TileMode.Tile
.Stretch = Stretch.Fill
.AlignmentX = AlignmentX.Center
.AlignmentY = AlignmentY.Center
End With
' Use the ImageBrush to paint the rectangle's background.
myRectangle.Fill = myImageBrush
注解
使用 a 绘制区域时,将使用三个 TileBrush组件:内容、磁贴和输出区域。 该 Viewbox 属性指定内容的大小和位置 TileBrush 。 下图显示了这三 TileBrush 个组件如何相互关联。
TileBrush 组件
该 ViewboxUnits 属性确定该值是解释为相对值还是 Viewbox 绝对值。 默认情况下,ViewboxUnits 属性设置为 RelativeToBoundingBox。
Viewbox 剪辑
TileBrush内容从不剪裁到 。Viewbox 但是, TileBrush 内容被剪 裁到 Viewport边缘,用于设置基图块的值。
下图显示了不同Stretch设置对小于Viewbox其Viewport大小的不同设置TileBrush的影响。 图像外部 Viewbox 的部分显示为灰色。
具有不同拉伸设置的 TileBrush
依赖项属性信息
标识符字段 | ViewboxProperty |
元数据属性设置为 true |
无 |