TileBrush.Viewbox Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.
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:
ViewboxUnits: RelativeToBoundingBox (padrão)
Viewport: 0,0,1,1
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 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 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.
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 do TileBrush
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
Informação de Propriedade de Dependência
| Iteme | Value |
|---|---|
| Campo identificador | ViewboxProperty |
Propriedades dos metadados definidas como true |
None |