TileBrush.Viewbox Proprietà

Definizione

Ottiene o imposta la posizione e le dimensioni del contenuto in una tessera TileBrush.Gets or sets the position and dimensions of the content in a TileBrush tile.

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

Valore della proprietà

Posizione e dimensioni del contenuto della tessera TileBrush.The position and dimensions of the TileBrush content. Il valore predefinito è un rettangolo (Rect) con TopLeft pari a (0,0) e Width e Height pari a 1.The default value is a rectangle (Rect) that has a TopLeft of (0,0), and a Width and Height of 1.

Esempio

È possibile specificare le dimensioni e la posizione del contenuto TileBrush usando la proprietà Viewbox.You can specify the size and position of TileBrush content by using the Viewbox property. La proprietà ViewboxUnits determina se il valore di Viewbox è relativo ai limiti del contenuto della TileBrush o se è un valore assoluto.The ViewboxUnits property determines whether the Viewbox value is relative to the bounds of the TileBrush content or whether it is an absolute value.

La prima figura mostra un'immagine in pixel di 100 per 100, quindi usa questa immagine per mostrare gli effetti delle diverse impostazioni della proprietà Viewbox.The first illustration shows a 100 by 100 pixel image and then uses this image to show the effects of different Viewbox property settings.

Un'immagineAn image
Inizio immagine di esempio (100 per 100 device independent pixel)Beginning sample image (100 by 100 device independent pixels)

Nella figura seguente viene illustrato l'output di un TileBrush che utilizza un Viewbox di 0.0, 0,0, 0,25, 0.5.The following illustration shows the output of a TileBrush that uses a Viewbox of 0.0,0.0, 0.25,0.5. Gli altri valori di proprietà pertinenti includono i seguenti:Other relevant property values include the following:

Questa illustrazione mostra diverse impostazioni della proprietà Stretch.This illustration shows several different Stretch property settings. La proprietà Stretch determina il modo in cui una TileBrush estende la Viewbox per riempire la Viewport.The Stretch property determines how a TileBrush stretches its Viewbox to fill its Viewport.

TileBrush con Viewbox di 0, 0 0,25, 0,5TileBrush with a Viewbox of 0,0 0.25,0.5
TileBrush con un Viewbox relativo di 0.0, 0,0, 0,25, 0.5TileBrush with a relative Viewbox of 0.0,0.0, 0.25,0.5

Nell'illustrazione seguente viene mostrata una TileBrush simile ma con una Viewbox relativa di 0,5, 0,25, 0,25, 0.5.The next illustration shows a similar TileBrush but with a relative Viewbox of 0.5,0.25, 0.25,0.5.

TileBrush con Viewbox di 0,5, 0,25 0,25, 0.5TileBrush with a Viewbox of 0.5,0.25 0.25,0.5
TileBrush simile ma con un'impostazione Viewbox diversaSimilar TileBrush but with a different Viewbox setting

Nell'illustrazione seguente viene mostrata la stessa TileBrush ma con un valore Viewport relativo di 0,0, 0,0, 0.5, 0.5 e un TileMode di Tile.The next illustration shows the same TileBrush but with a relative Viewport value of 0.0,0.0, 0.5,0.5 and a TileMode of Tile.

TiledTileBrush con Viewbox 0,5, 0,25 0,25, 0,5TiledTileBrush with a Viewbox of 0.5,0.25 0.25,0.5
TileBrush simile ma con affiancamento e un'impostazione del viewport diversaSimilar TileBrush but with tiling and a different Viewport setting

Nell'esempio seguente viene illustrato come creare un TileBrush affiancato con Viewbox 0,5, 0,25, 0,25, 0.5.The following example shows how to create a tiled TileBrush that has a Viewbox of 0.5,0.25, 0.25,0.5.

<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

Commenti

Quando si disegna un'area usando un TileBrush, si usano tre componenti: contenuto, riquadri e l'area di output.When you paint an area by using a TileBrush, you use three components: content, tiles, and the output area. La proprietà Viewbox specifica le dimensioni e la posizione di TileBrush contenuto.The Viewbox property specifies the size and position of TileBrush content. Nella figura seguente viene illustrato il modo in cui questi tre componenti TileBrush sono correlati tra loro.The following illustration shows how these three TileBrush components relate to each other.

Componenti di TileBrushTileBrush components
Componenti di TileBrushTileBrush components

Componenti di un oggetto TileBrush affiancatoComponents of a tiled TileBrush

La proprietà ViewboxUnits determina se il valore di Viewbox viene interpretato come valore relativo o assoluto.The ViewboxUnits property determines whether the Viewbox value is interpreted as a relative or absolute value. Per impostazione predefinita, la proprietà ViewboxUnits è impostata su RelativeToBoundingBox.By default, the ViewboxUnits property is set to RelativeToBoundingBox.

Ritaglio ViewboxViewbox Clipping

il contenuto del TileBrush non viene mai ritagliato nell'Viewbox.TileBrush contents are never clipped to the Viewbox. Tuttavia, il contenuto del TileBrush viene troncato ai bordi della Viewport, che imposta i valori per la tessera di base.However, TileBrush contents are clipped to the edges of the Viewport, which sets the values for the base tile.

Nella figura seguente viene illustrato l'effetto delle diverse impostazioni di Stretch in un TileBrush con un Viewbox minore del relativo Viewport.The following illustration shows the effect of different Stretch settings on a TileBrush that has a Viewbox that is smaller than its Viewport. Le parti dell'immagine che si trovano al di fuori dell'Viewbox sono colorate in grigio.The parts of the image that are outside the Viewbox are tinted gray.

TileBrush con impostazioni di estensione diverseTileBrush with different Stretch settings
TileBrush con impostazioni Stretch diverseTileBrush with different Stretch settings

Informazioni proprietà di dipendenzaDependency Property Information

Campo identificatoreIdentifier field ViewboxProperty
Proprietà dei metadati impostate su trueMetadata properties set to true NoneNone

Si applica a

Vedi anche