WPF窗口背景ImageBrush不平铺
发布时间:2020-12-13 20:57:57 所属栏目:Windows 来源:网络整理
导读:我有一个带有背景图像的窗口。图像可能会在运行时发生变化,这对于此而言并不重要。 我想要将图像固定在左上角(它是),而不是缩放(这也是正确的,但是当窗口大于图像时,我需要图像重复(瓦片),我在做… 。 我失踪了什么 TIA 您需要设置 TileMode 属性以及Vi
我有一个带有背景图像的窗口。图像可能会在运行时发生变化,这对于此而言并不重要。
我想要将图像固定在左上角(它是),而不是缩放(这也是正确的,但是当窗口大于图像时,我需要图像重复(瓦片),我在做… 。 我失踪了什么 TIA
您需要设置
TileMode 属性以及Viewport和ViewportUnits:
例如: <Window.Background> <ImageBrush ImageSource="myImage.png" Viewport="0,300,300" ViewportUnits="Absolute" TileMode="Tile" Stretch="None" AlignmentX="Left" AlignmentY="Top" /> </Window.Background> 注意:Viewport属性的第二个2段表示每个重复的所需大小。如果要显示整个图像,这些应该是图像的宽度和高度。 示例输出: 编辑响应评论 如果您不知道要在“视口”属性中指定的图像的大小,则可以使用带有IValueConverter的绑定从图像中计算。我确信必须有一个更好的办法,但我还没有找到一个! XAML: <Window.Resources> <local:Converter x:Key="Converter" /> </Window.Resources> <Window.Background> <ImageBrush ImageSource="myImage.png" ViewportUnits="Absolute" TileMode="Tile" Stretch="None" AlignmentX="Left" AlignmentY="Top" Viewport="{Binding ImageSource,RelativeSource={RelativeSource Self},Converter={StaticResource Converter}}"/> </Window.Background> 价值转换器 public class Converter : IValueConverter { #region IValueConverter Members public object Convert(object value,Type targetType,object parameter,System.Globalization.CultureInfo culture) { var source = (ImageSource)value; return new Rect(0,source.Width,source.Height); } public object ConvertBack(object value,System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } #endregion } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-phone-7 – Windows Phone 7是否支持MD5?
- tfs – 在测试用例通过或失败时发送电子邮件警报
- 仅适用于Windows API的Windows CE 5.0全屏窗口
- windows – 在Win32应用程序中模仿丙烯酸
- windows – 使用批处理文件插入字符串
- 有一个WPF与System.Windows.Forms.Screen等同吗?
- windows-server-2008 – 你何时会使用“密码永不过期”选项
- Windows 下安装 swoole 图文教程(php)
- 如何找出导致Windows中断的原因?
- emacs – 学习Windows / C程序员的常见Lisp技巧
推荐文章
站长推荐
热点阅读