resize时不要缩放ImageBrush,重复它!

我有ImageBrush的问题:

        

我想在用户调整窗口大小时重复图像。 但是当用户调整窗口大小时,当前图像会变焦。 (请注意,图像大小很小,我使用TileModeViewport重复它,并在resize时出现问题!)。

任何XAML代码都会很棒! 🙂

我很抱歉英语不好!

默认情况下,TileBrush的视口为0,0,1,1,ViewportUnits为RelativeToBoundingBox,这意味着0,0,1,1映射到整个目标大小(在本例中为Grid的边界)。

因此,如果要平铺ImageBrush,则需要调整视口。 如果要将视口设置为0,0,.5,.5,则应该看到平铺2 x 2的图像(因为每个图块将是网格大小的50%x50%),或者是0,0,0.25, 0.1将产生4×10平铺等…

但是,这仍然不能防止图像重新缩放。 因此,在您的情况下,您可能想要的是将视口设置为图像的大小,并将ViewportUnits设置为Absolute而不是RelativeToBoundingBox。

在下面的xaml中,我有一个24×24像素的图像,所以我相应地设置了我的视口。 这会针对网格的完整大小重复平铺图像。 如果调整网格大小,将显示更多图块。

  

我希望有所帮助。