TileBrush.Viewbox Свойство

Определение

Получает или задает позицию и размеры содержимого в мозаичном элементе 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

Значение свойства

Позиция и размеры содержимого TileBrush.The position and dimensions of the TileBrush content. Значение по умолчанию представляет собой прямоугольник (Rect), параметр TopLeft которого равен 0,0, а параметры Width и Height — 1.The default value is a rectangle (Rect) that has a TopLeft of (0,0), and a Width and Height of 1.

Примеры

Можно указать размер и расположение TileBrush содержимого с помощью свойства Viewbox.You can specify the size and position of TileBrush content by using the Viewbox property. Свойство ViewboxUnits определяет, является ли значение Viewbox относительным относительно границ содержимого TileBrush или является ли оно абсолютным значением.The ViewboxUnits property determines whether the Viewbox value is relative to the bounds of the TileBrush content or whether it is an absolute value.

На первом рисунке изображено изображение размером 100 х 100 пикселей, а затем используется это изображение для отображения эффектов различных параметров свойств 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.

ИзображениеAn image
Начальный пример изображения (100 на устройство, не зависящее от устройства 100)Beginning sample image (100 by 100 device independent pixels)

На следующем рисунке показаны выходные данные TileBrush, в которых используется Viewbox 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. К другим соответствующим значениям свойств относятся следующие.Other relevant property values include the following:

На этом рисунке показаны несколько различных параметров свойств Stretch.This illustration shows several different Stretch property settings. Свойство Stretch определяет, как TileBrush растягивает его Viewbox для заполнения Viewport.The Stretch property determines how a TileBrush stretches its Viewbox to fill its Viewport.

TileBrush с Viewbox 0, 0 0,25, 0,5TileBrush with a Viewbox of 0,0 0.25,0.5
TileBrush с относительным Viewbox 0,0, 0,0, 0,25, 0,5TileBrush with a relative Viewbox of 0.0,0.0, 0.25,0.5

На следующем рисунке показан похожий TileBrush, но с относительным Viewbox от 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 с Viewbox 0,5, 0,25 0,25, 0,5TileBrush with a Viewbox of 0.5,0.25 0.25,0.5
Аналогично TileBrush, но с другим параметром ViewboxSimilar TileBrush but with a different Viewbox setting

На следующем рисунке показан один и тот же TileBrush, но с относительным значением Viewport, равным 0,0, 0,0, 0,5, 0,5 и a TileMode из 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.

Тиледтилебруш с Viewbox 0,5, 0,25 0,25, 0,5TiledTileBrush with a Viewbox of 0.5,0.25 0.25,0.5
Аналогично TileBrush, но с мозаичным заполнением и другим параметром окна просмотраSimilar TileBrush but with tiling and a different Viewport setting

В следующем примере показано, как создать мозаичный TileBrush с Viewbox, равным 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

Комментарии

При окрашивании области с помощью TileBrush используются три компонента: содержимое, плитки и область вывода.When you paint an area by using a TileBrush, you use three components: content, tiles, and the output area. Свойство Viewbox определяет размер и расположение содержимого TileBrush.The Viewbox property specifies the size and position of TileBrush content. На следующем рисунке показано, как эти три компонента TileBrush связаны друг с другом.The following illustration shows how these three TileBrush components relate to each other.

Компоненты TileBrushTileBrush components
Компоненты TileBrushTileBrush components

Компоненты мозаичного TileBrushComponents of a tiled TileBrush

Свойство ViewboxUnits определяет, интерпретируется ли значение Viewbox как относительное или абсолютное значение.The ViewboxUnits property determines whether the Viewbox value is interpreted as a relative or absolute value. По умолчанию свойство ViewboxUnits имеет значение RelativeToBoundingBox.By default, the ViewboxUnits property is set to RelativeToBoundingBox.

Viewbox обрезкаViewbox Clipping

содержимое TileBrush никогда не обрезается в Viewbox.TileBrush contents are never clipped to the Viewbox. Однако *содержимое @no__t* -0 обрезается по краям Viewport, который задает значения для базового элемента мозаики.However, TileBrush contents are clipped to the edges of the Viewport, which sets the values for the base tile.

На следующем рисунке показано воздействие различных параметров Stretch на TileBrush с Viewbox, размер которого меньше Viewport.The following illustration shows the effect of different Stretch settings on a TileBrush that has a Viewbox that is smaller than its Viewport. Части изображения, находящиеся за пределами Viewbox, оттенки серого.The parts of the image that are outside the Viewbox are tinted gray.

TileBrush с различными параметрами StretchTileBrush with different Stretch settings
TileBrush с различными параметрами растяженияTileBrush with different Stretch settings

Сведения о свойстве зависимостейDependency Property Information

Поле идентификатораIdentifier field ViewboxProperty
Для свойств метаданных задано значение trueMetadata properties set to true ОтсутствуютNone

Применяется к

Дополнительно