我有一个ImageBrush和一个SolidColorBrush。 问题是我现在想要用这些属性设置我的画布背景。
我可以轻松地将我的背景设置为我的ImageBrush或我的SolidColorBrush,但我可以进行某种合并吗? 问题是我的ImageBrush.Stretch设置为Uniform,所以我可以看到背后的颜色! (“填充”不是这种情况)
现在,Brush是一个抽象类,所以我想要的解决方案就是对它进行扩展,但这对我来说听起来很简单和常见的事情来说真的很多......
没有其他解决方案吗?
答案 0 :(得分:1)
这个怎么样,虽然它的缺点是图像的绝对大小,更重要的是宽高比被忽略了。但它可能会给你一个提示。
<Canvas>
<Canvas.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="Orange">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,1,1"/>
</GeometryDrawing.Geometry>
</GeometryDrawing>
<ImageDrawing ImageSource="C:\Users\Public\Pictures\Sample Pictures\Desert.jpg" Rect="0.2,0.2,0.6,0.6" />
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Canvas.Background>
</Canvas>