如何绘制双色对角线背景?
How do I draw two-colored diagonal background?
如何绘制双色对角线背景?
我希望颜色由容器的对角线分隔。
我希望在调整容器大小后保留对角线。
我的 DataGrid 中有两类按颜色区分的行。很少有行同时具有这两个类别,所以我想像上面那样设置它们的背景。
您可以使用一对拉伸路径对象来创建 "background",然后在上面覆盖您想要的任何其他内容。无论网格大小如何,两个彩色区域之间的边界将固定在对角线上。
<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>
这可以通过使用 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>
如附图所示,调整大小不是问题。
如何绘制双色对角线背景? 我希望颜色由容器的对角线分隔。 我希望在调整容器大小后保留对角线。
我的 DataGrid 中有两类按颜色区分的行。很少有行同时具有这两个类别,所以我想像上面那样设置它们的背景。
您可以使用一对拉伸路径对象来创建 "background",然后在上面覆盖您想要的任何其他内容。无论网格大小如何,两个彩色区域之间的边界将固定在对角线上。
<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>
这可以通过使用 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>
如附图所示,调整大小不是问题。