本文整理汇总了C#中Series.RenderLegend方法的典型用法代码示例。如果您正苦于以下问题:C# Series.RenderLegend方法的具体用法?C# Series.RenderLegend怎么用?C# Series.RenderLegend使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Series
的用法示例。
在下文中一共展示了Series.RenderLegend方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderLegend
/// <summary>
/// Renders the legend for the specified series.
/// </summary>
/// <param name="rc">
/// The render context.
/// </param>
/// <param name="s">
/// The series.
/// </param>
/// <param name="rect">
/// The position and size of the legend.
/// </param>
private void RenderLegend(IRenderContext rc, Series.Series s, OxyRect rect)
{
double x = rect.Left;
switch (this.LegendItemAlignment)
{
case HorizontalAlignment.Center:
x = (rect.Left + rect.Right) / 2;
if (this.LegendSymbolPlacement == LegendSymbolPlacement.Left)
{
x -= (this.LegendSymbolLength + this.LegendSymbolMargin) / 2;
}
else
{
x -= (this.LegendSymbolLength + this.LegendSymbolMargin) / 2;
}
break;
case HorizontalAlignment.Right:
x = rect.Right;
// if (LegendSymbolPlacement == LegendSymbolPlacement.Right)
x -= this.LegendSymbolLength + this.LegendSymbolMargin;
break;
}
if (this.LegendSymbolPlacement == LegendSymbolPlacement.Left)
{
x += this.LegendSymbolLength + this.LegendSymbolMargin;
}
double y = rect.Top;
var maxsize = new OxySize(Math.Max(rect.Right - x, 0), Math.Max(rect.Bottom - y, 0));
var textSize = rc.DrawMathText(
new ScreenPoint(x, y),
s.Title,
this.LegendTextColor ?? this.TextColor,
this.LegendFont ?? this.DefaultFont,
this.LegendFontSize,
this.LegendFontWeight,
0,
this.LegendItemAlignment,
VerticalAlignment.Top,
maxsize,
true);
double x0 = x;
switch (this.LegendItemAlignment)
{
case HorizontalAlignment.Center:
x0 = x - (textSize.Width * 0.5);
break;
case HorizontalAlignment.Right:
x0 = x - textSize.Width;
break;
}
var symbolRect =
new OxyRect(
this.LegendSymbolPlacement == LegendSymbolPlacement.Right
? x0 + textSize.Width + this.LegendSymbolMargin
: x0 - this.LegendSymbolMargin - this.LegendSymbolLength,
rect.Top,
this.LegendSymbolLength,
textSize.Height);
s.RenderLegend(rc, symbolRect);
}