TileBrush.Viewbox Propriedade

Definição

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

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 de Propriedade

A posição e as dimensões do TileBrush conteúdo. O valor padrão é um retângulo (Rect) que tem a TopLeft de (0,0) e a Width e Height de 1.

Exemplos

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 depois usa esta imagem para mostrar os efeitos de diferentes Viewbox definições de propriedades.

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

A ilustração seguinte mostra a saída de a TileBrush que usa a Viewbox de 0,0,0,0, 0,25,0,5. Outros valores relevantes de propriedades incluem os seguintes:

Esta ilustração mostra vários cenários diferentes Stretch de propriedades. A Stretch propriedade determina como um TileBrush estica o seu Viewbox para preencher o seu Viewport.

TileBrush com uma Caixa de Visualização de 0,0 0,25,0,5 TileBrush com uma Viewbox relativa de 0,0,0,0, 0,25,0,5

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

TileBrush com uma Caixa de Visualização de 0,5,0,25 0,25,0,5 TileBrush semelhante, mas com uma configuração diferente do Viewbox

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

TiledTileBrush com uma Caixa de Visualização de 0,5,0,25 0,25,0,5 TileBrush semelhante, mas com tiling e uma configuração diferente da Viewport

O exemplo seguinte mostra como criar um mosaico TileBrush que tenha a Viewbox 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

Observações

Quando pintas uma área usando um TileBrush, usas três componentes: conteúdo, tiles e a área de saída. A Viewbox propriedade especifica o tamanho e a posição do TileBrush conteúdo. A ilustração seguinte mostra como estes três TileBrush componentes se relacionam entre si.

Componentes TileBrush Componentes do TileBrush

Componentes de um TileBrush em

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

Recorte da Caixa de Visualização

TileBrush Os conteúdos nunca são cortados ao Viewbox. No entanto, os TileBrush conteúdos são recortados nas arestas do Viewport, o que define os valores para a peça base.

A ilustração seguinte mostra o efeito de diferentes Stretch definições num TileBrush que tem um Viewbox que é menor do que o seu Viewport. As partes da imagem que estão fora do lado Viewbox são tingidas de cinzento.

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

Informação de Propriedade de Dependência

Iteme Value
Campo identificador ViewboxProperty
Propriedades dos metadados definidas como true None

Aplica-se a

Ver também