TileBrush.Viewbox Propriedade

Definição

Obtém ou define a posição e as dimensões do conteúdo em um bloco 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

Valor da propriedade

A posição e as dimensões do conteúdo TileBrush.The position and dimensions of the TileBrush content. O valor padrão é um retângulo (Rect) com um TopLeft de (0,0) e um Width e Height de 1.The default value is a rectangle (Rect) that has a TopLeft of (0,0), and a Width and Height of 1.

Exemplos

Você pode especificar o tamanho e a posição do conteúdo TileBrush usando a propriedade Viewbox.You can specify the size and position of TileBrush content by using the Viewbox property. A propriedade ViewboxUnits determina se o valor de Viewbox é relativo aos limites do conteúdo TileBrush ou se é um valor absoluto.The ViewboxUnits property determines whether the Viewbox value is relative to the bounds of the TileBrush content or whether it is an absolute value.

A primeira ilustração mostra uma imagem de 100 por 100 pixels e, em seguida, usa essa imagem para mostrar os efeitos das diferentes configurações de propriedade 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.

Uma imagemAn image
Imagem de exemplo inicial (100 por 100 pixels independentes de dispositivo)Beginning sample image (100 by 100 device independent pixels)

A ilustração a seguir mostra a saída de um TileBrush que usa um Viewbox de 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. Outros valores de propriedade relevantes incluem o seguinte:Other relevant property values include the following:

Esta ilustração mostra várias configurações de propriedade diferentes Stretch.This illustration shows several different Stretch property settings. A propriedade Stretch determina como um TileBrush alonga seu Viewbox para preencher seu Viewport.The Stretch property determines how a TileBrush stretches its Viewbox to fill its Viewport.

TileBrush com um Viewbox de 0, 0 0,25, 0,5TileBrush with a Viewbox of 0,0 0.25,0.5
TileBrush com um Viewbox relativo de 0,0, 0,0, 0,25, 0,5TileBrush with a relative Viewbox of 0.0,0.0, 0.25,0.5

A ilustração a seguir mostra um TileBrush semelhante, mas com um @no__t relativo-1 de 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 com um Viewbox de 0,5, 0,25 0,25, 0,5TileBrush with a Viewbox of 0.5,0.25 0.25,0.5
TileBrush semelhante, mas com uma configuração diferente de ViewboxSimilar TileBrush but with a different Viewbox setting

A ilustração a seguir mostra o mesmo TileBrush, mas com um valor de Viewport relativo de 0,0, 0,0, 0.5, 0,5 e um TileMode de 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 com Viewbox de 0,5, 0,25 0,25, 0,5TiledTileBrush with a Viewbox of 0.5,0.25 0.25,0.5
TileBrush semelhante, mas com divisão e uma configuração de visor diferenteSimilar TileBrush but with tiling and a different Viewport setting

O exemplo a seguir mostra como criar um lado TileBrush com um Viewbox de 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

Comentários

Ao pintar uma área usando um TileBrush, você usa três componentes: conteúdo, blocos e a área de saída.When you paint an area by using a TileBrush, you use three components: content, tiles, and the output area. A propriedade Viewbox especifica o tamanho e a posição do conteúdo de TileBrush.The Viewbox property specifies the size and position of TileBrush content. A ilustração a seguir mostra como esses três componentes TileBrush se relacionam entre si.The following illustration shows how these three TileBrush components relate to each other.

Componentes de TileBrushTileBrush components
Componentes de TileBrushTileBrush components

Componentes de um TileBrush lado a ladoComponents of a tiled TileBrush

A propriedade ViewboxUnits determina se o valor de Viewbox é interpretado como um valor relativo ou absoluto.The ViewboxUnits property determines whether the Viewbox value is interpreted as a relative or absolute value. Por padrão, a propriedade ViewboxUnits é definida como RelativeToBoundingBox.By default, the ViewboxUnits property is set to RelativeToBoundingBox.

Recorte de ViewboxViewbox Clipping

o conteúdo de TileBrush nunca é recortado no Viewbox.TileBrush contents are never clipped to the Viewbox. No entanto, o conteúdo de TileBrush é recortado nas bordas do Viewport, que define os valores para o bloco base.However, TileBrush contents are clipped to the edges of the Viewport, which sets the values for the base tile.

A ilustração a seguir mostra o efeito de diferentes configurações Stretch em um TileBrush que tem um Viewbox que é menor do que seu Viewport.The following illustration shows the effect of different Stretch settings on a TileBrush that has a Viewbox that is smaller than its Viewport. As partes da imagem que estão fora do Viewbox são cinza colorido.The parts of the image that are outside the Viewbox are tinted gray.

TileBrush com diferentes configurações de StretchTileBrush with different Stretch settings
TileBrush com diferentes configurações de StretchTileBrush with different Stretch settings

Informações da propriedade de dependênciaDependency Property Information

Campo de identificadorIdentifier field ViewboxProperty
Propriedades de metadados definidas como trueMetadata properties set to true NenhumNone

Aplica-se a

Veja também