Image.NineGrid 属性

定义

获取或设置一个九网格比喻的值,该值控制如何调整图像的大小。 使用九网格比喻,可以拉伸图像的边缘和角,使其不同于其中心。 有关详细信息和插图,请参阅备注。

public:
 property Thickness NineGrid { Thickness get(); void set(Thickness value); };
Thickness NineGrid();

void NineGrid(Thickness value);
public Thickness NineGrid { get; set; }
var thickness = image.nineGrid;
image.nineGrid = thickness;
Public Property NineGrid As Thickness
<Image NineGrid="left,top,right,bottom" />

属性值

一个 Thickness 值,用于设置九网格调整比喻的 度量值。

注解

使用九网格渲染时,可以指定图像的不同区域的拉伸方式。 此功能可用于在图像缩放或拉伸时保留图像角上的详细信息。

九网格呈现将图像划分为 9 个部分的网格:

一个包含九个部分的网格。 使用九网格呈现,可以保留 (框 1、3、7 和 9) 角的原始尺寸。 (框 2 和 8) 的顶部和底部仅水平拉伸, (框 4 和 6) 的边仅垂直拉伸。 中心 (框 5) 在两个维度中拉伸。 若要使用九网格呈现,请创建

当图像本身包含嵌入在图像源中的某种类型的边框或边缘修饰时,应用九网格渲染非常有用。 例如,假设你正在使用按钮的图像源,该 按钮 的轮廓是具有透明度的图像的一部分。 可能需要包含图标的中心区域进行拉伸。 但是,如果拉伸角,可能会从圆角获得别名项目。 或者边框侧可能会变得太厚,在缩放时看起来不太好。 为了防止出现此问题,可以使用具有统一值的 NineGrid,该值始终使边框的像素大小与图像源中的像素大小保持一致。

无论是在代码中还是在 XAML 中,用于设置 NineGrid 属性的 Thickness 的值都是与设备无关的像素值。

下面是使用 NineGrid 值的 Image 元素的示例 XAML:

<Image Source="Images/9grid.bmp" NineGrid="30,20,30,20" />

如果图像没有为 Width 和/或 Height 设置特定值,并且图像被拉伸 (图像呈现到更大的容器空间中,而 Stretch 的值不是**None**) ,则仅当图像呈现时,NineGrid 值才与图像呈现相关。

适用于

另请参阅