Compartilhar via


TileBrush.Viewbox Propriedade

Definição

Obtém ou define a posição e as dimensões do conteúdo em um TileBrush bloco.

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 TileBrush conteúdo. O valor padrão é um retângulo (Rect) que tem um TopLeft (0,0) e um Width e Height um de 1.

Exemplos

Você pode especificar o tamanho e a posição do TileBrush conteúdo usando a Viewbox propriedade. A ViewboxUnits propriedade determina se o Viewbox valor é relativo aos limites do TileBrush conteúdo ou se é um valor absoluto.

A primeira ilustração mostra uma imagem de 100 por 100 pixels e, em seguida, usa essa imagem para mostrar os efeitos de diferentes Viewbox configurações de propriedade.

Uma imagem Imagem de exemplo inicial (100 por 100 pixels independentes do dispositivo)

A ilustração a seguir mostra a saída de um TileBrush que usa um Viewbox 0.0,0.0, 0.25,0.5. Outros valores de propriedade relevantes incluem o seguinte:

Esta ilustração mostra várias configurações de propriedade diferentes Stretch . A Stretch propriedade determina como um TileBrush estica seu Viewbox para preencher seu Viewport.

TileBrush com uma caixa de exibição de 0,0 0,25,0,5 TileBrush com uma caixa de exibição relativa de 0.0,0.0, 0.25,0.5

A ilustração a seguir mostra um valor semelhante TileBrush , mas com um relativo Viewbox de 0,5,0,25, 0,25,0,5.

TileBrush com uma Caixa de Exibição 0.5,0.25 0.25,0.5 TileBrush semelhante, mas com uma configuração de Viewbox diferente

A ilustração a seguir mostra o mesmo TileBrush , mas com um valor relativo Viewport de 0,0,0,0, 0,5,0,5 e um TileMode de Tile.

TiledTileBrush com uma Caixa de Exibição de 0.5,0.25 0.25,0.5 TileBrush semelhante, mas com blocos e uma configuração de Visor diferente

O exemplo a seguir mostra como criar um bloco TileBrush com um Viewbox valor de 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. A Viewbox propriedade especifica o tamanho e a posição do TileBrush conteúdo. A ilustração a seguir mostra como esses três TileBrush componentes se relacionam entre si.

Componentes TileBrush componentes Componentes do TileBrush

Componentes de um TileBrush

A ViewboxUnits propriedade determina se o Viewbox valor é interpretado como um valor relativo ou absoluto. Por padrão, a ViewboxUnits propriedade é definida como RelativeToBoundingBox.

Recorte da caixa de exibição

TileBrush o conteúdo nunca é recortado ao Viewbox. No entanto, TileBrush o conteúdo é recortado nas bordas do Viewport, que define os valores do bloco base.

A ilustração a seguir mostra o efeito de configurações diferentes Stretch em um TileBrush que tem um Viewbox menor que seu Viewport. As partes da imagem que estão fora do Viewbox cinza são coloridas.

TileBrush com diferentes configurações de Stretch TileBrush com configurações de Stretch diferentes

Informações da propriedade Dependency

Item Valor
Campo identificador ViewboxProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a

Confira também