2012-05-18 4 views
1

현재 wpf 애플리케이션에서 툴킷을 사용하여 선 시리즈에서 점을 선택하려고합니다. 난 그냥 마우스 이벤트를 사용하여 그것을 선택하려고하지만 난 그것에 몇 시간이고 지금까지 어떤 성공을하지 못했습니다. 여기 LineSeries에서 특정 점을 선택하는 방법

내 XAML

<Grid Name="amplitude_envelope" Grid.ColumnSpan="9" Grid.Column="2" Grid.Row="6" Margin="0,0,95,0"> 
      <chartingToolkit:Chart Title="Amplitude Envelope" Name="chart1" AllowDrop="True" > 

       <chartingToolkit:Chart.Series> 

        <chartingToolkit:LineSeries 
         Name="my_line" 
         MouseDown="StartDrag" 
         MouseLeave="StopDrag" 
         MouseMove="DragObject" 
         IsSelectionEnabled="True" 
         Title="Envelope" 
         DependentValuePath="Power" IndependentValuePath="Speed" > 
         <chartingToolkit:LineSeries.DependentRangeAxis> 
          <chartingToolkit:LinearAxis 
            Orientation="Y" 
            Title="Amplitude (%)" 
            Minimum="0" 
            Maximum="1.2" 
            Interval="0.2" 
            ShowGridLines="True"/> 
         </chartingToolkit:LineSeries.DependentRangeAxis> 
        </chartingToolkit:LineSeries> 
       </chartingToolkit:Chart.Series> 

      </chartingToolkit:Chart> 
     </Grid> 

의 추출물 내 DragObject 방법은 다음과 같습니다 나는 때 나의하여 startDrag 이벤트를 호출하기 위해 무엇을해야하는지 난 그냥 찾을 수없는

private void DragObject(object sender, MouseEventArgs e) 
    { 
     if (my_line.IsMouseCaptured) 
     { 
      LineSeries line = (LineSeries)sender; 
      var dp = line.SelectedItem; 
     } 
    } 

한 지점에서 직접 cliking (지금까지 선 또는 차트를 클릭 할 때 할 수 있습니다 ...하지만 그게 내가 찾고있는 것이 아닙니다)

저에 대한 아이디어가 있습니까?

답변

0

당신은 LineSeries.DataPointStyle에서 이벤트를 정의 할 수 있습니다

<chartingToolkit:LineSeries.DataPointStyle> 
    <Style> 
     <EventSetter Event="Control.MouseDown" Handler="StartDrag"/>   
    </Style> 
</chartingToolkit:LineSeries.DataPointStyle> 

는 또한, False로 IsSelectionEnabled를 설정해야합니다.

참조 : Adding events on WPF LineSeries DataPoint