将矩形的大小设置为图像大小
Set Size of Rectangle to image size
我正在使用它来显示可以改变颜色的图标
<Rectangle Width="100"
Height="100"
Fill="{DynamicResource WhiteBrush">
<Rectangle.OpacityMask>
<ImageBrush Stretch="Uniform" ImageSource={x:Static ImageResources.MyImage}"/>
</Rectangle.OpacityMask>
</Rectangle>
问题是,并非每张图片在 100x100 下看起来都不错,如果我不填充这些值,则不会显示任何内容。我想要实现的是,矩形自动采用所需的图像大小,就像我使用
<Image Source="{x:Static ImageResources.MyImage}"/>
知道如何实现吗?我已经尝试为 ImageBrush 命名并参考矩形的大小,这不起作用。
作为一种解决方法,我将一个图像放置在 Visibility=Hidden 的相同位置,并从那里获取 Rectangle 的 actualHeight 和 actualWidth,但这不是一个可接受的解决方案。欢迎任何提示。
您可以绑定矩形的宽度和高度:
<Rectangle Fill="{DynamicResource WhiteBrush"
Width="{Binding Width, Source={x:Static ImageResources.MyImage}}"
Height="{Binding Height, Source={x:Static ImageResources.MyImage}}">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="{x:Static ImageResources.MyImage}"/>
</Rectangle.OpacityMask>
</Rectangle>
我正在使用它来显示可以改变颜色的图标
<Rectangle Width="100"
Height="100"
Fill="{DynamicResource WhiteBrush">
<Rectangle.OpacityMask>
<ImageBrush Stretch="Uniform" ImageSource={x:Static ImageResources.MyImage}"/>
</Rectangle.OpacityMask>
</Rectangle>
问题是,并非每张图片在 100x100 下看起来都不错,如果我不填充这些值,则不会显示任何内容。我想要实现的是,矩形自动采用所需的图像大小,就像我使用
<Image Source="{x:Static ImageResources.MyImage}"/>
知道如何实现吗?我已经尝试为 ImageBrush 命名并参考矩形的大小,这不起作用。
作为一种解决方法,我将一个图像放置在 Visibility=Hidden 的相同位置,并从那里获取 Rectangle 的 actualHeight 和 actualWidth,但这不是一个可接受的解决方案。欢迎任何提示。
您可以绑定矩形的宽度和高度:
<Rectangle Fill="{DynamicResource WhiteBrush"
Width="{Binding Width, Source={x:Static ImageResources.MyImage}}"
Height="{Binding Height, Source={x:Static ImageResources.MyImage}}">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="{x:Static ImageResources.MyImage}"/>
</Rectangle.OpacityMask>
</Rectangle>