我可以在WPF工具包图表中绘制虚线吗?

时间:2012-08-13 09:37:22

标签: c# wpf wpftoolkit mschart

在我的基于WPF的应用程序中,我正在使用WPF Toolkit中提供的数据可视化图表组件。我想绘制虚线,类似于this的插图所以回答:

Solid and dashed lines

不幸的是,这仅适用于Windows窗体,因为BorderDashStyle属性仅存在于 DataVisualization.Charting 组件的Windows窗体版本中,而不存在于WPF Toolkit等效项中。

我应该如何使用 WPF Toolkit 图表组件生成虚线?

2 个答案:

答案 0 :(得分:3)

我搜索了Silverlight Toolkit图表组件的类似解决方案,找到了this

幸运的是,事实证明可以在WPF中应用相同的方法。通过将属性LineSeries.PolylineStyle设置为具有合适System.Windows.Shapes.Polyline属性设置的Shape.StrokeDashArray样式,可以获得所需的行短划线。

以编程方式,可以通过以下方式完成:

var series = new LineSeries
    {
         ItemsSource = calcData,
         IndependentValuePath = "X",
         DependentValuePath = "Y",
         PolylineStyle = GetDashedLineStyle()
    };

...

Style GetDashedLineStyle()
{
    var style = new Style(typeof(Polyline));
    style.Setters.Add(new Setter(Shape.StrokeDashArrayProperty, 
                      new DoubleCollection(new[] { 5.0 })));
    return style;
}

答案 1 :(得分:0)

在WPF中添加到xaml的另一种方法:

function retValues($input) {
    if (preg_match('~\((-?[0-9]+)\s*,\s*(-?[0-9]+)~', $input, $m))  {
        return array('left'=>$m[1], 'right'=>$m[2]);
    } else {
        return "";
    }
}

$tuple = "(12342,43244)";
print_r(retValues($tuple));
相关问题