在我的项目中,我想在自定义控件的一侧显示一个小徽标。因为我没有画布,所以我认为可能使用Visual Brush将徽标放在背景中是个好主意。
<VisualBrush>
<VisualBrush.Visual>
<Rectangle Width="200" Height="200" Fill="Red" />
</VisualBrush.Visual>
</VisualBrush>
但我现在使用的矩形不是200x200。它需要完整的可用空间。那不是我想要的。我也试过一个Viewbox并设置了stretch属性,但结果是一样的,因为最后我不需要一个简单的Rectangle,而是一个带有很多路径对象作为子项的画布。 Viewbox仅支持一个孩子。
有什么方法可以解决这个问题吗?
答案 0 :(得分:10)
您需要在TileMode
上设置Stretch
,AlignmentX
,AlignmentY
和VisualBrush
属性:
<VisualBrush TileMode="None" Stretch="None" AlignmentX="Left" AlignmentY="Top">
<VisualBrush.Visual>
<Rectangle Height="200" Width="200" Fill="Red"></Rectangle>
</VisualBrush.Visual>
</VisualBrush>
答案 1 :(得分:0)
添加网格,并将此设置垂直对齐方式设置为“顶部”和“水平”对齐方式为 示例代码
<VisualBrush x:Key="myVisual">
<VisualBrush.Visual>
<Grid>
<Rectangle Height="200" Width="200" Fill="Red" HorizontalAlignment="Right" VerticalAlignment="Top" ></Rectangle>
</Grid>
</VisualBrush.Visual>
</VisualBrush>
答案 2 :(得分:0)
对我来说,我在VisualBrush上设置了以下属性,VisualBrush现在看起来与MediaElement完全相同:
Stretch="Uniform"