TileBrush.Viewbox Свойство

Определение

Возвращает или задает положение и размеры содержимого на плитке TileBrush .

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 . Значение по умолчанию — прямоугольник (Rect), имеющий TopLeft значение (0,0), а также WidthHeight значение 1.

Примеры

Размер и положение содержимого TileBrush можно указать с помощью Viewbox свойства. Свойство ViewboxUnits определяет, является ли Viewbox значение относительным границами содержимого TileBrush или является ли оно абсолютным значением.

На первом рисунке показан 100 на 100 пикселей, а затем используется это изображение для отображения эффектов различных Viewbox параметров свойств.

Изображение Начало примера изображения (от 100 до 100 независимых пикселей устройства)

На следующем рисунке показаны выходные данные, TileBrush использующие Viewbox 0,0,0,0, 0,25 0,5. К другим соответствующим значениям свойств относятся следующие значения:

На этом рисунке показаны несколько различных Stretch параметров свойств. Свойство Stretch определяет, как TileBrush растягивает его Viewbox для заполнения.Viewport

TileBrush с полем просмотра 0,0,0,25,0,5 TileBrush TileBrush с относительным представлением 0,0,0,0, 0,25,0,5

На следующем рисунке показан аналогичный TileBrush рисунок, но с относительным Viewbox значением 0,5,0,25, 0,25,0,5.

TileBrush с представлением 0,5,0,25 0,25,0,5 Аналогичный элемент TileBrush, но с другим параметром viewbox

На следующем рисунке показан тот же TileBrush , но с относительным Viewport значением 0,0,0,0, 0,5,0,5 и a TileModeTile.

TiledTileBrush с представлением 0,5,0,25 0,25 0,5 TiledTileBrush Аналогичный элемент TileBrush, но с накладкой и другим параметром viewport

В следующем примере показано, как создать плитку TileBrush с Viewbox 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элемента используется три компонента: содержимое, плитки и область вывода. Свойство Viewbox задает размер и позицию содержимого TileBrush . На следующем рисунке показано, как эти три TileBrush компонента связаны друг с другом.

Компоненты TileBrush, Компоненты TileBrush

Компоненты плитки TileBrush

Свойство ViewboxUnits определяет, интерпретируется ли Viewbox значение как относительное или абсолютное значение. По умолчанию свойство ViewboxUnits задано значением RelativeToBoundingBox.

Вырезка в представлении

TileBrush содержимое никогда не обрезается к объекту Viewbox. TileBrush Однако содержимое обрезается к краям элементаViewport, которое задает значения для базовой плитки.

На следующем рисунке показан эффект различных Stretch параметров на объекте TileBrushViewbox , который меньше его Viewport. Части изображения, которые находятся за пределами Viewbox , оттеняются серым цветом.

TileBrush с различными параметрами Stretch TileBrush с различными параметрами Stretch

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

Элемент Ценность
Поле идентификатора ViewboxProperty
Свойства метаданных, равные свойству true None

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

См. также раздел