По умолчанию область просмотра для TileBrush равна 0,0,1,1, а ViewportUnits - RelativeToBoundingBox, что означает, что 0,0,1,1 соответствует всему целевому размеру (в данном случае это границы сетки). ).
Так что, если вы хотите использовать мозаику ImageBrush, вам нужно настроить область просмотра. Если вы установите значение Viewport равным 0,0, .5, .5, вы должны увидеть изображения, выложенные мозаикой 2 x 2 (поскольку размер каждой плитки будет 50% x 50% размера сетки), или 0,0,0.25, 0.1 даст 4x10 и т. Д. ...
Тем не менее, это не мешает масштабированию изображения. Таким образом, в вашем случае вы, вероятно, захотите установить размер окна просмотра в размер изображения и установить для параметра ViewportUnits значение Absolute вместо RelativeToBoundingBox.
В xaml ниже у меня есть изображение 24x24 пикселей, поэтому я соответственно установил свой видовой экран. Это мозаичное изображение многократно для полного размера сетки. Если размер сетки будет изменен, появится больше плиток.
<ImageBrush ImageSource="Images\book_green.png" TileMode="FlipX"
Viewport="0,0,24,24" ViewportUnits="Absolute" />
Надеюсь, это поможет.