如何绘制双色对角线背景? 我希望颜色由容器的对角线分开。 我希望在调整容器大小后保留对角线。
我的DataGrid中有两类按行颜色划分的行。很少有两个类别,所以我想像上面那样设置背景。
答案 0 :(得分:1)
您可以使用一对拉伸的路径对象来创建“背景”,然后在顶部覆盖您想要的任何其他内容。无论网格大小如何,两个彩色区域之间的边界将保持固定在对角线上。
<Grid>
<Path Stretch="Fill" Data="M 0,0 L 0,1 L 1,0 L 0,0" Fill="Blue" />
<Path Stretch="Fill" Data="M 1,1 L 0,1 L 1,0 L 1,1" Fill="Red" />
<TextBlock Text="Some Text" FontSize="72" VerticalAlignment="Center" HorizontalAlignment="Center" Canvas.ZIndex="1" />
</Grid>
答案 1 :(得分:0)
这可以通过使用DrawingBrush
来实现。以下是Canvas
背景的示例,但它可用于任何背景。
<Canvas Margin="182,229,197,43">
<Canvas.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="Aquamarine" Geometry="M 1,1 L 0,1 0,0 1,1"/>
<GeometryDrawing Brush="Blue" Geometry="M 0,0 L 1,1 1,0 0,0"/>
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Canvas.Background>
</Canvas>