我想在WPF中绘制一条Polyline,它在开头和结尾之间有不同的不透明度。 我使用了LinearGradientBrush。但这不符合我的期望。渐变考虑了边界框或容器中的位置。 是否可以根据折线的“长度”(在开头和结尾之间)得到一个渐变?
答案 0 :(得分:1)
看看GradientBrush.MappingMode Property。默认值为BrushMappingMode.RelativeToBoundingBox
,您需要BrushMappingMode.Absolute
。
答案 1 :(得分:0)
试试Charles Petzold's GradientPath。但它是static IEnumerable<DateTime> GetNonHolidays(DateTime start)
{
var holidays = GetHolidays(start);
var current = start;
foreach (var holiday in holidays)
{
// Yield everything until the next holiday
while (current < holiday)
{
yield return current;
current = current.AddDays(1);
}
// Skip this holiday, then look for the next one
current = current.AddDays(1);
}
// No more holidays? Now we can just yield infinitely...
while (true)
{
yield return current;
current = current.AddDays(1);
}
}
,所以不能像FrameworkElement
那样完全使用。