[英]WPF - Size rectangle by its ImageBrush opacity mask
我有一个具有ImageBrush不透明蒙版的矩形(基本上是一个彩色图标)。
这是我当前的代码:
<Rectangle Fill="Black">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="/Path/To/Icon.png"/>
</Rectangle.OpacityMask>
</Rectangle>
如果不为矩形设置固定的宽度和高度,则不会产生任何结果。 是否可以根据ImageBrush图像大小来调整矩形大小?
谢谢你的帮助。 抱歉,如果这是一个愚蠢的问题,我仍在学习WPF。
编辑 :澄清一下,我想要实现的是矩形的行为与此相同:
<Image Source="/Path/To/Icon.png"/>
应根据图像源文件的尺寸调整大小。
Stretch="None"
保持图像大小。 从ImageBrush
大小调整绑定了ActualWidth
和ActualHeight
矩形。 如果我们不使用两者,结果是相同的。 在两种情况下,矩形都将调整为真正的ImageBrush大小。 希望我理解你的问题。
<Rectangle Fill="Black" Width="{Binding ActualWidth, ElementName=image}" Height="{Binding ActualHeight, ElementName=image}">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="/Path/To/Icon.png" x:Name="image" Stretch="None">
</ImageBrush>
</Rectangle.OpacityMask>
</Rectangle>
<Rectangle Width="{Binding ActualWidth, ElementName=image}" Height="{Binding ActualHeight, ElementName=image}">
<Rectangle.Fill>
<ImageBrush ImageSource="C:\Users\neeraj\Pictures\Img1.jpg" x:Name="image" Stretch="None">
</ImageBrush>
</Rectangle.Fill>
</Rectangle>
试试这个片段。 我不确定您为什么要填充黑色。 如果想法是周围有黑色,请在外部网格上使用Background =“ Black”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.