Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

TileBrush.Viewbox-Eigenschaft

Ruft Position und Abmessungen des Inhalts in einer TileBrush-Kachel ab oder legt diese fest.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public Rect Viewbox { get; set; }
<object>
  <object.Viewbox>
    <Rect .../>
  </object.Viewbox>
</object>
<object Viewbox="Rect" .../>

Eigenschaftswert

Typ: System.Windows.Rect
Position und Abmessungen des TileBrush-Inhalts. Der Standardwert ist ein Rechteck (Rect) mit dem Wert (0,0) für TopLeft und dem Wert 1 für Width und Height.

Bezeichnerfeld

ViewboxProperty

Auf true festgelegte Metadateneigenschaften

NONE

Wenn Sie ein Bild mit einem TileBrush zeichnen, verwenden Sie drei Komponenten: Inhalt, Kacheln und Ausgabebereich. Die Viewbox-Eigenschaft gibt Größe und Position des TileBrush-Inhalts an. In der folgenden Abbildung werden die Beziehungen zwischen diesen drei TileBrush-Komponenten veranschaulicht.

TileBrush-Komponenten

TileBrush-KomponentenKomponenten eines gekachelten TileBrush

Die ViewboxUnits-Eigenschaft bestimmt, ob der Viewbox-Wert als relativer oder absoluter Wert interpretiert wird. In der Standardeinstellung ist die ViewboxUnits-Eigenschaft auf RelativeToBoundingBox festgelegt.

Abschneiden entsprechend Viewbox

TileBrush -Inhalt wird niemals entsprechend der Viewbox abgeschnitten. TileBrush -Inhalt wird jedoch entsprechend den Rändern des Viewport, der die Werte der Basiskachel festlegt, abgeschnitten.

In der folgenden Abbildung werden die Auswirkungen unterschiedlicher Stretch-Einstellungen auf einen TileBrush, dessen Viewbox kleiner als sein Viewport ist, dargestellt. Die Teile des Bilds, die sich außerhalb der Viewbox befinden, sind grau getönt.

TileBrush mit unterschiedlichen Stretch-Einstellungen

TileBrush mit unterschiedlichen Dehneinstellungen

Sie können Größe und Position des TileBrush-Inhalts mithilfe der Viewbox-Eigenschaft angeben. Die ViewboxUnits-Eigenschaft bestimmt, ob der Viewbox-Wert relativ zu den Begrenzungen des TileBrush-Inhalts oder als absoluter Wert angegeben wird.

In der ersten Abbildung wird ein Bild mit 100 x 100 Pixel dargestellt, und anschließend werden anhand dieses Bilds die Auswirkungen unterschiedlicher Viewbox-Eigenschafteneinstellungen veranschaulicht.

Erstes Beispielbild (100 x 100 geräteunabhängige Pixel)

Ein Bild

Die folgende Abbildung zeigt die Ausgabe einer TileBrush, die eine Viewbox von 0,0;0,0; 0,25;0,5 verwendet. Andere relevante Eigenschaftswerte umfassen:

In dieser Abbildung werden mehrere unterschiedliche Stretch-Eigenschafteneinstellungen dargestellt. Die Stretch-Eigenschaft bestimmt, wie die Viewbox eines TileBrush gestreckt wird, um den Viewport auszufüllen.

TileBrush mit einer relativen Viewbox von 0,0, 0,0, 0,25, 0,5

TileBrush mit einer Viewbox von 0;0 0,25;0,5

In der nächsten Abbildung wird ein ähnlicher TileBrush dargestellt, jedoch mit einer relativen Viewbox von 0,5, 0,25, 0,25, 0,5.

Ähnlicher TileBrush, jedoch mit anderer Viewbox-Einstellung

TileBrush mit einer Viewbox von 0,5;0,25 0,25;0,5

In der nächsten Abbildung wird der gleiche TileBrush dargestellt, jedoch mit dem relativen Viewport-Wert 0,0, 0,0, 0,5, 0,5 und einem auf Tile festgelegten TileMode.

Ähnlicher TileBrush, jedoch mit Kacheln und einer anderen Viewport-Einstellung

TiledTileBrush mit einer Viewbox von 0,5;0,25 0,25;0,5

Im folgenden Beispiel wird gezeigt, wie ein gekachelter TileBrush, mit einer Viewbox von 0,5, 0,25, 0,25, 0,5 erstellt wird.


<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.
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



// 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;


.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Anzeigen: