語言

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" />

屬性值

一個厚度值,用來設定九格調整尺寸隱喻的左、上、右、下測量值。

備註

使用九格渲染時,你可以指定影像不同區域的拉伸方式。 此功能有助於在影像縮放或拉伸時保留影像角落的細節。

九格渲染將影像劃分為九個區塊的格子:

一個由九個區段組成的格子。 九格渲染技術能保留角落的原始尺寸(框1、3、7和9)。 頂部和底部(箱子2和8)僅水平拉伸,側邊(箱子4和6)則僅垂直拉伸。 中心(框5)在兩個維度上都被拉伸。 使用九格渲染時,你建立 一個影像 元素,並為 NineGrid 屬性指定一個值——也就是格子左、上、右、下四側的像素值。 在 XAML 中,你可以指定 NineGrid 屬性值作為一個字串,指定邊界的像素值,順序依左、上、右、下。 在內部,這個語法會建立一個 Thickness 物件,代表這種測量方式。 如果你想要統一的值,你可以指定一個值,並且套用在四條邊上。

當影像本身在影像來源中嵌入某種邊框或邊緣裝飾時,應用九格渲染非常實用。 舉例來說,想像你用一個 Button 的影像來源,該 Button 的輪廓是透明影像的一部分。 你可能想把中間有圖示的區域拉伸。 但如果你把角落拉長,可能會因為圓角產生鋸齒痕跡。 或者邊框的邊緣可能太厚,縮小後看起來就不好看了。 為了避免這種情況,你可以使用NineGrid,並且保持邊框像素大小與影像來源相同的統一值。

無論是在程式碼中還是 XAML,用來設定 NineGrid 屬性的 Thickness 值都是與裝置無關的像素值。

以下是使用 NineGrid 值的 Image 元素範例 XAML:

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

NineGrid 值只有在影像沒有設定特定的 寬度 和/ 或高度值,且影像被拉伸(影像渲染到較大的容器空間,而 拉伸 值不是** 無)時才對影像渲染有意義。

適用於

另請參閱