我有一个矩形,它有一个ImageBrush不透明蒙版(基本上是彩色图标)。
这是我目前的代码:
<Rectangle Fill="Black">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="/Path/To/Icon.png"/>
</Rectangle.OpacityMask>
</Rectangle>
如果没有为矩形设置固定的宽度和高度,则不会产生任何结果。是否可以根据ImageBrush图像尺寸来调整矩形的大小?
感谢您的帮助。对不起,如果这是一个愚蠢的问题,我还在学习WPF。
编辑:为了澄清,我想要实现的是矩形的行为与此相同:
<Image Source="/Path/To/Icon.png"/>
应根据图像源文件的尺寸进行调整。
答案 0 :(得分:0)
Stretch="None"
保持图片大小。绑定ActualWidth
和ActualHeight
的矩形从ImageBrush
大小调整大小。如果不同时使用两者,结果相同。在两种情况下矩形调整为真正的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>
答案 1 :(得分:0)
<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”。