1

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

实线和虚线

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

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

4

2 回答 2

3

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

幸运的是,事实证明同样的方法可以应用于 WPF。通过将属性设置为具有合适属性设置LineSeries.PolylineStyle的样式,可以获得所需的虚线。System.Windows.Shapes.PolylineShape.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;
}
于 2012-08-13T10:40:55.353 回答
1

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

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"

...


    <Window.Resources>
        <Style x:Key="DashedPolyLine" TargetType="{x:Type Polyline}">                        
            <Setter Property="StrokeDashArray" Value="2 3 2" />
        </Style>        
    </Window.Resources>

...

<chartingToolkit:LineSeries  Title="Title" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding BindingValue}" PolylineStyle="{StaticResource DashedPolyLine}"/>
于 2016-08-04T09:37:37.007 回答