[英]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.