gpt4 book ai didi

c# - 带有折线和 LinearGradientBrush 的图表的问题

转载 作者:行者123 更新时间:2023-11-30 12:18:15 25 4
gpt4 key购买 nike

我有一个包含在 Canvas 中的多段线的图表。我想设置多段线的描边,从底部的一种颜色开始,到顶部的另一种颜色结束。我试过这个 xaml:

<Polyline StrokeThickness="2">
<Polyline.Stroke>
<LinearGradientBrush StartPoint="0.5,1" EndPoint="0.5,0">
<GradientStop Color="Blue" Offset="0" />
<GradientStop Color="Cyan" Offset="1" />
</LinearGradientBrush>
</Polyline.Stroke>
</Polyline>

以这种方式工作,但渐变的高度等于多段线的高度。我的意思是,如果我有一条从 Canvas 底部到顶部的多段线,渐变将应用于 Canvas 的整个高度。如果我有一条水平多段线,渐变将应用于它的粗细。
我希望渐变高度等于 Canvas 高度,独立于多段线高度。
我怎样才能做到这一点?

最佳答案

渐变的起点和终点由 LinearGradientBrushStartPointEndPoint 属性指定。您的示例显示了 PolyLine 内的值(0.5,1 和 0.5,0)。您可以使用小于 0 或大于 1 的值,以便在形状之前开始渐变或在形状之后结束。

但是使用相对值可能很难满足您的需求。使用相对值是因为未明确设置 LinearGradientBrushMappingMode 属性。默认值为 RelativeToBoundingBox,但可以设置为 Absolute

这样,您可以将 StartPoint 设置为 (0,0) 并将 EndPoint 设置为 Canvas 的宽度和高度以获得您要查找的结果.

关于c# - 带有折线和 LinearGradientBrush 的图表的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com