2012-08-13 2 views
1

내 WPF 기반 응용 프로그램에서 WPF Toolkit에있는 데이터 시각화 차트 구성 요소를 사용하고 있습니다. 나는 그렇게 대답 this의 그림과 유사한 점선을 그리려고 : 윈도우가 DataVisualization의 버전을 양식에 BorderDashStyle 속성에만 존재하기 때문에WPF 툴킷 차트에서 점선을 그릴 수 있습니까?

Solid and dashed lines

불행하게도, 이것은 단지, Windows Forms의 작동합니다. 구성 요소를 도표화하고 WPF Toolkit에 해당하지 않습니다.

WPF Toolkit 도표 구성 요소로 점선을 생성하려면 어떻게해야합니까?

답변

3

Silverlight Toolkit 차트 구성 요소와 유사한 솔루션을 찾고 this을 찾았습니다.

다행히 WPF에서 동일한 접근 방식을 적용 할 수 있습니다. 적절한 Shape.StrokeDashArray 속성 설정을 사용하여 LineSeries.PolylineStyleSystem.Windows.Shapes.Polyline 스타일로 설정하면 원하는 라인 대시를 얻을 수 있습니다.

프로그래밍,이 같은으로 수행 할 수 있습니다

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

유용한 - 당신의 자신의 질문에 대답을 주셔서 감사합니다! 나는 또한이 [링크] (http://www.java2s.com/Tutorial/CSharp/0470__Windows-Presentation-Foundation/RoundStrokeDashCapPolyline.htm) – tdc

+0

을 3 시간 동안 찾은 후에 이것을 사용했다. 당신은 .. 위의 참조 링크에서 복사 감사합니다 을 < chartingToolkit : LineSeries.PolylineStyle> <스타일은 TargetType = "폴리 라인"> JenonD

0

또 다른 방법을 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}"/>