Jal*_*lal 6 c# wpf resize scale imagebrush
我有一个问题ImageBrush
:
<Window ... >
<Grid>
<Grid.Background>
<ImageBrush ImageSource="Controls\Images\notebook_paper_Line.jpg" TileMode="FlipX"
Viewport="0,0,1,0.09" />
</Grid.Background>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
我想在用户调整窗口大小时重复图像.但是当用户调整窗口大小时,当前图像会变焦.(请注意,图像尺寸很小,我使用TileMode
并Viewport
重复它,并在调整大小时出现问题!).
任何XAML代码都会很棒!:)
我很抱歉英语不好!
Liz*_*Liz 13
默认情况下,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将产生4x10平铺等...
但是,这仍然无法阻止图像重新缩放.因此,在您的情况下,您可能想要的是将视口设置为图像的大小,并将ViewportUnits设置为Absolute而不是RelativeToBoundingBox.
在下面的xaml中,我有一个24x24像素的图像,所以我相应地设置了我的视口.这会针对网格的完整大小重复平铺图像.如果调整网格大小,将显示更多图块.
<ImageBrush ImageSource="Images\book_green.png" TileMode="FlipX"
Viewport="0,0,24,24" ViewportUnits="Absolute" />
Run Code Online (Sandbox Code Playgroud)
我希望有所帮助.
归档时间: |
|
查看次数: |
6581 次 |
最近记录: |